用js实现图片懒加载

var imgs = $('img');
			var lazyload = function() {
				// 获取浏览器滚动高度
				var scrollTop = $(document).scrollTop();
				// 获取浏览器可视高度
				var winTop = $(window).height();

				$('img').each(function(i, el) {
					// 如果元素距离文档顶部的高度小于浏览器的滚动高度加浏览器的可视高度,则需要加载
					// $(this).offset().top:图片元素距离文档顶部的高度
					if ($(this).offset().top < scrollTop + winTop) {
						// 为需要加载的图片的 src 属性赋值
						$(this).attr('src', $(this).data('src'));
					}
				});
			}

			// 节流函数
			function throttle(method, delay) {
				var timer = null;
				return function() {
					clearTimeout(timer); // 执行之前清除上一个
					timer = setTimeout(function() {
						method(); // 执行懒加载方法
					}, delay);
				};
			}
			// 打开网页先加载可视区域的图片
			window.onload = lazyload();
			// window.onscroll 是鼠标滚动事件
			window.onscroll = throttle(lazyload, 200);

html:可以这样写

<img src="img_item data-src="这里面是真正的图片地址">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值