读书人

图片延时加载,该如何解决

发布时间: 2013-03-19 17:22:05 作者: rapoo

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

有推荐淘宝的 但要引用YUI

有没有更好的呢~ 用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="图片延时加载,该如何解决" />


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

读书人网 >asp.net

热点推荐