// 先获取页面中所有的图片
// 循环所有的图片的offsetTop
// 加载条件:图片的 offsetTop 当前浏览器显示区 + 滚动条的高度
window.onload = function () { //页面加载完成后执行
class lazyLoad {
constructor() {
this.imgs = document.querySelectorAll('img');
this.init();
}
init() {
this.load();
this.eventBind();
}
load(img) {
let scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
let winH = window.innerHeight
for (let i = 0; i < this.imgs.length; i++) {
// 判断加载条件
if (this.imgs[i].offsetTop < scrollTop + winH) {
this.imgs[i].src = this.imgs[i].getAttribute('data-src')
this.imgs[i].style.opacity = 1;
}
}
}
eventBind() {
document.addEventListener('scroll', this.load.bind(this));
}
}
new lazyLoad();
};
lazyLoad-懒加载
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 使用vue-lazyload实现图片懒加载[https://www.cnblogs.com/chenyingyin...
- 1、安装插件: npm install vue-lazyload --save-dev 2、main.js引入插件...
- 本文转载来源:http://www.w3cways.com/1765.html Lazy Load 是一个用 Ja...