// 获取有几个标签
let num = document.getElementsByTagName('img').length
// 获取标签
let img = document.getElementsByTagName('img')
// 获取img标签的原本src的值
let imgUrl = './images/loading.gif'
// 定义一个数,为了防止之前加载过的图片重复加载
let n = 0
lazyLoad()
// 页面滚动调用懒加载方法
window.onscroll = lazyLoad
// 懒加载方法
function lazyLoad() {
// 获取设别屏幕高度
let seeHeight = document.documentElement.clientHeight
// 滚动条滚动的距离
let scrollTop = document.documentElement.scrollTop || document.body.scrollTop
for (let i = n; i < num; i++) {
if (img[i].offsetTop < seeHeight + scrollTop) {
if (img[i].getAttribute('src') === imgUrl) {
// 把data-src里存储的真实图片地址赋值给rc
img[i].src = img[i].getAttribute('data-src')
}
n = i + 1
}
}
}
手写懒加载方法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- (void)setShop_shop = shop; 重写set方法是 成员变量 一定要重新 赋值 } (in...
- 1.懒加载 2.重写model的set方法赋值(可选类型要先判断为不为nil,为nil强转会崩) 3.按钮的点击 ...
- 当你的网站使用了大量图片时候,如果一次性全部加载,那么会严重影响网站的速度。通过lazysizes.js插件就能很...