简单的jq图片懒加载实现

<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
<img data-src='./imgfile/img1.jpg' alt="">
 
emmm...上来不要给img赋值 src属性  空值 src=' '也不要赋 ,只要有src属性 浏览器就去解析这个src  然后向后台发送http请求,,,既然是性能优化,又发送这么多无用的请求,你懂的。。。
 
$(function(){
var windowHeight=$(window).height()
var imgLazys=$.map($('img[data-src]').get(),function(item,index){
$(item).attr('data-isload',false) //有data-src属性的Img 先都赋属性data-isload 值为 false  表示是否加载了
if(item.offsetTop<windowHeight){
$(item).attr('data-isload',true) //表示加载过了
item.src=$(item).data('src')
}
return item
})
$(window).scroll(function(){
var scrollTop=$(document).scrollTop()
imgLazys.forEach(function(item,index){

 

if(!$(item).data('isload')){//如果没加载
if(item.offsetTop-scrollTop<windowHeight-200){//如果图片在可见区域内了
$(item).data('isload',true)
item.src=$(item).data('src')
}
}
})
})
})

转载于:https://www.cnblogs.com/liuyt0219/p/10453864.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值