2011-03-26 30 views
1

我为我的网站运行LazyLoad脚本,并有一个小的方面的问题。Jquery LazyLoad.js问题与调整窗口后加载

Im在水平滚动(从左到右)上使用Lazy Load加载相当宽的图像。该脚本完美工作,并在200px(或任何默认值)内褪色。

但是我注意到如果窗口打开到一个较小的尺寸,然后打开到完整的窗口,占位符,Lazy Load只有在较小的窗口大小期间加载了“In View”的图像。它一旦滚动条被移动,但我很好奇,如果有任何脚本我可以沿线添加'当窗口调整大小,重新测量观看空间'

希望这是有道理的。我对JavaScript知之甚少,所以如果有人知道如何解决这个问题,就好像你正在跟一个5岁的孩子一步一步地说话:)

回答

1

找到这行代码(在lazyload.js中) :

$(settings.container).bind("scroll",function(event){var counter=0;elements.each(function(){if($.abovethetop(this,settings)||$.leftofbegin(this,settings)){}else if(!$.belowthefold(this,settings)&&!$.rightoffold(this,settings)){$(this).trigger("appear");}else{if(counter++>settings.failurelimit){return false;}}});var temp=$.grep(elements,function(element){return!element.loaded;});elements=$(temp);}); 

,并添加后,这个:

$(window).bind("resize",function(event){$(settings.container).trigger('scroll');}); 
0

设置failure_limit为10,则插件停止搜索图像,以寻找倍低于10倍后的图像加载。如果你有一个时髦的布局设置这个数字高到解决您的问题,例如:

$('img').lazyload({effect:'fadeIn', failure_limit:40});