基于jquery 延迟加载(1)

延迟加载原理:

采用的是动态的替换img的src的属性,通过xsrc路径替换为src路径来达到延迟加载图片的功能
HTML结构和CSS样式
<!DOCTYPE html>
<html>
<head>
	<title>延迟加载的delayLoad</title>
	<style type="text/css">
		.photo{
			width: 900px;
			/*background-color: gray;*/
			margin: 0 auto;
		}
		.photo dl{
			float: left;
			width:225px;
			height:270px;
			margin: 5px 0 15px 0;
		}
		.photo dt{
			width: 200px;
			height: 250px;
			background-color: #ccc
		}
		.photo dt dd{
			height: 25px;
			line-height: 25px;
		}
		.ob{
			height: 800px;
		}
		.wait_load{
			opacity: 0;
		}
	</style>
</head>
<body>
<div class="ob"></div>

<div id="photo" class="photo">
	<dl>
		<dt><img xsrc="img/p1.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p2.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p3.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p4.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p5.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p6.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p7.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p8.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p9.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p10.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p11.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
	<dl>
		<dt><img xsrc="img/p12.jpg" src="img/wait_load.jpg" class="wait_load"></dt>
		<dd>延迟加载</dd>
	</dl>
</div>
基于jquery的实现,通过attr动态的获取xsrc替换src
<script type="text/javascript" src="../jquery/jquery.js"></script>
<script type="text/javascript">
	$(function(){
		$(document).scroll(function(event) {
			/* Act on the event */
			var windowHeight = $(window).height();
			var scrollTop = $(document).scrollTop();
			var wait_load = $(".wait_load");
			//var imgScrollTop = wait_load.offset().top;
			var top = parseInt(scrollTop) + parseInt(windowHeight);
			setTimeout(function(){
				for(var i = 0;i < wait_load.length;i++){
					var _this = $(wait_load).eq(i);
					if(top >= _this.offset().top){
						_this.attr('src',_this.attr('xsrc')).animate({
							opacity:1
						},100)
					}
				}
			},600)
		});
	})
</script>
至此,简单的实现了延迟加载的效果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值