Javascript 请解释一下这个代码

Javascript 请解释一下这个代码,javascript,jquery,image-loading,Javascript,Jquery,Image Loading,试图理解,因为我想定制一点。 根据注释,回调函数将最后一个要加载的图像作为参数传递给。有人能解释一下回调是如何只传递给最后一张图像的吗(我知道为什么,我只是不知道怎么传递)?从我阅读代码的方式来看,它似乎传递给了所有人 干杯 /$('img.photo',this).imagesLoaded(myFunction) //加载所有图像后执行回调。 //需要,因为.load()在缓存的图像上不起作用 //麻省理工学院执照。保罗·爱尔兰。2010 //Oren Solomianik提供的webkit修

试图理解,因为我想定制一点。 根据注释,
回调函数将最后一个要加载的图像作为参数传递给
。有人能解释一下回调是如何只传递给最后一张图像的吗(我知道为什么,我只是不知道怎么传递)?从我阅读代码的方式来看,它似乎传递给了所有人

干杯

/$('img.photo',this).imagesLoaded(myFunction)
//加载所有图像后执行回调。
//需要,因为.load()在缓存的图像上不起作用
//麻省理工学院执照。保罗·爱尔兰。2010
//Oren Solomianik提供的webkit修复程序。谢谢!
//回调函数传递最后一个要加载的图像
//作为参数,集合作为“this”
$.fn.imagesLoaded=函数(回调){
var elems=this.filter('img'),
len=元素长度,
blank='数据:image/gif;base64,'+
'r0lgodlhaqabaaaaap///ywaaaqaabaauwaow==';
元素绑定('加载',函数(){

如果(--len只有当
len
(递减)小于或等于零时才会调用回调函数。因为它从元素的长度值(或元素的数量)开始,并且在加载每个图像时递减,所以只有最后一个图像才会使表达式为真

您可以阅读这部分代码:

   elems.bind('load',function(){
      if (--len <= 0 && this.src !== blank){ callback.call(elems,this); }
  })
elems.bind('load',function(){

如果(--len,则以下行执行此操作

if (--len <= 0 && this.src !== blank){ callback.call(elems,this); }

if(--len在这里可以找到对最后一个元素激发的求值以及对回调函数的结果调用

if (--len <= 0 && this.src !== blank){ callback.call(elems,this); }

因此,基本上,这意味着当图像加载时,它将减少len变量的增量(
--len
)检查它是否小于或等于零,并确保这个元素有一个src;如果这两个条件都满足,这意味着它是集合中触发加载事件的最后一个元素,那么回调函数将触发。

+1哇!我也想知道……现在你解释一下,非常简单。谢谢!
elems.bind('load',function(){ //.. Basically binds the following function to every item in elemns on load.