jQuery不运行“;如果“;加载后
jQuery do not run "if" after load
我所有的js脚本都在工作,但不工作
$("img").each(function() {
if ($(this).height() > 100) {
return $(this).after("<p class='tasr'>FOTO © TASR</p>");
}
});
当我加载页面时,它不工作,但当我复制这个脚本做chrome控制台时,它工作得很完美。
我的咖啡脚本:
jQuery $(document).ready ->
$("img").each ->
if $(this).height() > 100
$(this).after("<p class='tasr'>FOTO © TASR</p>")
编辑:
这是我的脏代码:来自coffeescript 的javascript代码
这可能是因为图像尚未完成加载,因此返回的高度和宽度为0。
您可能希望在图像上使用.load()
函数,该函数将在图像加载后触发,因此宽度和高度将大于0。
这也可以解释为什么它在chrome控制台中工作,因为到那时图像已经加载。
EDIT:@zzzzBov在下面的评论中提到了一件值得注意的事情,即浏览器中的缓存通常会在标准刷新时停止调用加载函数的图像。要绕过这个问题,您只需要有一个包含所有代码的函数,在该函数中,您可以从.load函数和文档就绪函数内部调用
如果这是你的html:
<img id="img1" src="example.jpg" />
然后你可以在你的脚本中按照这个思路写一些东西。请注意,这是我的想法,所以它可能有点错误。
function doStuff() {
//I normally do a check here to see if the image width/height is 0 if it is then I dont bother
//executing the rest
//I do however sometimes need to do stuff when the image has not yet loaded which can be done here.
//do stuff with the image, you could also pass parameters if needed.
}
$(document).ready(function() {
doStuff();
});
$('#img1').load(function() {
doStuff();
});
相关文章:
- javascript如果图像不存在don't加载它
- $(select).selectmenu('打开')不'如果使用ajax加载页面,则不起作用
- 如果数据为空,Ajax加载不会停止
- 如果图像标记是用javascript编写的,并且需要用户输入,那么图像不会随页面加载吗
- 如何知道用户已经重新加载了网页,使用jquery.如果用户重新加载网页,
- 在HTML中,如果第二次加载相同的脚本文件,它还会被加载吗
- 如何让我的网站上的WEBP图像加载在morzilla firefox中有一个可能的解决方案吗?如果是,那么如何
- Javascript:Google Maps API:如果地图加载在隐藏容器中,则为空白地图
- 如果iframe通过单击加载,则自动调整iframe大小无效
- 如果使用jquery在页面加载时未选择任何选项,如何禁用下拉列表
- php,如果我点击按钮程序重新加载页面,并且从不继续执行代码
- 如果可能的话,使用jQuery onLoad函数来加载特定的页面
- 如果页面加载时间超过 10 秒,如何刷新页面
- 在页面加载时显示 css(如果已选中)
- 如果有办法在 N 秒内加载未触发,则有没有办法设置 img src
- 我能确定这个页面赢了吗;如果我使用`location.replace`来更改哈希,则不会重新加载
- jQuery-检查外部页面上是否存在DIV,如果存在,则加载DIV,否则加载另一个
- 检查IFRAME URL并重新加载(如果找到)-Javascript
- 检查脚本是否已经加载.如果没有,则异步加载
- onkeypress事件的奇怪行为页面重新加载如果"返回false;"是缺失的,否则它不会让我输入任