php 图片懒加载,图片懒加载的一个实例介绍

本文介绍了网页中图片懒加载的实现方法,通过JavaScript监听滚动事件,当图片进入可视区域时动态加载图片,提高页面加载速度并优化用户体验。核心代码包括获取元素距离顶部位置的函数getTop()以及根据滚动位置判断图片是否可见的add()函数。
摘要由CSDN通过智能技术生成

在图片比较多的网站总会看见,当浏览到那个位置,就加载那的图片。

*{

margin: 0;

padding: 0;

}

img{

display: block;

width: 500px;

height: 300px;

}

div{

margin: 500px 0 0 40px;

}

window.οnlοad=function(){

var banner=document.getElementById("banner");

var imgs=banner.getElementsByTagName("img");

add();//页面加载完成先执行一次

function getTop(obj){ //写一个方法获取图片距离top的值

var t=0;  //定义一个保存top值的 变量

while(obj){  //循环获取每个父级定位的top值

t+=obj.offsetTop; //获取传入或改变父级定位的top值,当到大body的时候没有 他的父级定位为null所以就停了

obj=obj.offsetParent; //获取obj的父级定位

console.log(t)

console.log(obj)

}

return t;

}

function add(){

var S = document.documentElement.scrollTop || document.body.scrollTop; //获取滑动条距top的值

var H = window.innerHeight; //获取显示区域高度(只读)

for(var i=0;i

if((S+H) > getTop(imgs[i])){ 判断图片是否进入可视区域

imgs[i].setAttribute("src",imgs[i].getAttribute("data-src")); //当进入的时候给src 赋值

}

}

}

window.οnscrοll=function(){ //每次滚动运行方法判断

add()

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值