日期:2014-05-17  浏览次数:20471 次

图片延时加载
自己google了一下
有一个lazyload的 但貌似要一开始设置图片的高度

有推荐淘宝的 但要引用YUI

有没有更好的呢~

------解决方案--------------------
http://blog.csdn.net/fengyarongaa/article/details/6703614
------解决方案--------------------
用jq实现的代码会更简洁


$(document).ready(function(e) {
//图片延迟加载
var change=function(){
var top = $(document).scrollTop()+(document.all ? document.getElementsByTagName("html")[0].offsetHeight : window.innerHeight);
var objs=$("img[delay-img]");
var length=objs.length;
if(length<1){
$(window).unbind("scroll",c_change).unbind("resize",c_change);
}
for(var i=length-1;i>-1;i--){
var obj=objs[i];
if(top>$(obj).offset().top + 10){
var src=$(obj).attr("delay-img");
$(obj).removeAttr("delay-img").attr("src",src);
}
}
}
var timer=null;
var c_change=function(e) {
window.clearTimeout(timer);
timer=window.setTimeout(change,100);
}
$(window).scroll(c_change).resize(c_change);
change()
});


调用
<img delay-img="cache/236x348-2.jpg" width="236" height="348" alt="" />


当然如果你经常动态添加图片,就自己优化下吧