js实现图片懒加载

最近复习下js、简单实现一下图片的懒加载

思路其实很简单:

页面的img默认加载一张lodaing图片、速度会快一点、其他图片当显示在当前窗口的时候再获取data-src属性的值设置

到图片的src属性当中加载图片。

Demo:http://www.bright2017.top/test1/test1-32/

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>图片懒加载</title>
		<style type="text/css">
			.demo {
				text-align: center;
			}

			img {
				width: 130px;
				height: 140px;
			}
		</style>
	</head>
	<body>

		<div class="demo">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/1.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/2.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
			<img src="img/loding.gif" alt="图片丢失" data-src="img/3.jpg">
		</div>

		<script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.js"></script>
		<script type="text/javascript">
			$(function() {
				$(window).scroll(function() {
					handscroll();
				});

				function handscroll() {
					let imgs = $("img[data-src]");
					let bodyScrollHeight = document.body.scrollTop || document.documentElement.scrollTop;
					let windowHeight = window.innerHeight;
					for (let k = 0; k < imgs.length; k++) {
						let imgHeight = $(imgs[k]).offset().top;
						let imgData = $(imgs).eq(k).attr("data-src");
						if (imgHeight < (bodyScrollHeight + windowHeight) && imgHeight >= bodyScrollHeight) {
							setTimeout(function() {
								$(imgs).eq(k).attr("src", imgData);
							}, 1000);
						}
					}
				}
				// 页面默认加载图片
				handscroll();
			});
		</script>
	</body>
</html>

您的支持是对我最大的鼓励。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值