js实现图片懒加载的方法代码优化版
首页页面最开始要引入jquery.js
图片懒加载代码
<script>
// 获取页面可视区域的高度
const visibleHeight = window.innerHeight;
// 获取页面上所有图片的元素
const imgs = document.querySelectorAll("img");
// 为每个图片元素添加 data-src 属性
for (const img of imgs) {
img.setAttribute("data-src", img.src);
img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
}
// 设置阈值和延迟
const threshold = 100;
// 节流函数
let throttleTimeout;
function throttleScroll() {
if (throttleTimeout) {
return;
}
throttleTimeout = setTimeout(() => {
throttleTimeout = null;
lazyLoad();
}, 200);
}
// 监听滚动事件
window.addEventListener("scroll", throttleScroll);
// 懒加载函数
function lazyLoad() {
// 遍历所有图片元素
for (const img of imgs) {
// 获取图片元素的顶部和底部位置
const rect = img.getBoundingClientRect();
const top = rect.top;
const bottom = rect.bottom;
// 如果图片元素的顶部或底部位置距离可视区域顶部距离小于阈值
if ((top <= visibleHeight && bottom >= 0) || (bottom >= 0 && top <= visibleHeight + threshold)) {
img.src = img.getAttribute("data-src");
}
}
}
// 初始加载一次
lazyLoad();
</script>
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至201542412@QQ.com举报,一经查实,本站将立刻删除。
相关推荐
-
js实现图片懒加载的方法代码
简单的js实现图片列表懒加载的方法和代码。必须在懒加载js前面加上jqury才可以。
-
图片懒加载有哪些方法
图片懒加载是一种优化网页性能的技术,它可以延迟加载页面上的图片,只有当图片即将出现在用户的视口中时才加载它们。这样可以减少页面的加载时间,提高用户体验和网站的整体性能。,我将介绍几种常用的图片
-
图片懒加载解决了什么
图片懒加载是一种优化技术,它允许在用户滚动到图片位置之前不加载图片,而是在需要时才加载和呈现图片。这种优化技术解决了许多与网页性能和用户体验相关的问题。1、减少初始加载时间:在网页中,图片通常是较大的