图片在document.ready上没有宽度

Dam*_*mon 2 javascript jquery image document-ready

我有一个功能,我想用来调整图像大小:

http://jsfiddle.net/eUurB/

当我在document.ready上运行它时,它没有任何效果; 返回的图像大小是'0'(您可能会注意到它在小提琴中起作用...我不确定是什么导致这种不一致的说实话,但在我的测试网站上它肯定会返回'0'的高度和宽度".

这是预期的行为吗?如果是这样,当图像有宽度时,我怎么能做一个简单的监听器?

use*_*716 5

这是一种超安全的方法,不需要等待所有图像加载,并处理在DOM准备好之前可以缓存或完成加载图像的情况.

$('#my_img').one('load',function(){
    resizeImgByArea('logo', 50);
})
  .filter(function(){
     return this.complete;
})
  .load();
Run Code Online (Sandbox Code Playgroud)
  • .one('load',...)一旦调用它就会删除处理程序.你只需要一次.

  • .filter()如果图像已经加载,将返回图像.如果不是,则不返回任何元素.

  • .load()将手动调用处理程序.仅在图像已加载时才会出现这种情况.


因此,如果在DOM准备好之前预先加载了图像,我们将.load()手动调用其处理程序.如果没有,它的处理程序将在加载时被调用.