日期:2014-05-16 浏览次数:20318 次
注重网页显示速度的常用这个手段。意思就是滚动条没滚到的就先不加载。
整理了下网上资料,总结如下。
原理:
1.先不把img标签的src赋实际的图片路径
2.将图片路径保存在img的name属性中
3.js判断图片是否在可视窗口内,取出name的值,赋给src,此刻才加载图片。
我这里使用的是jquery。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script src="http://blog.suiyidian.cn/texiao/jquery-1.3.1.js" type="text/javascript"></script> <title>js图片延时加载特效</title> <script type="text/javascript"> $(function () { var d = new Array(); for (var i = 0; i < $("img").length; i++) { d[i] = $("img").eq(i).attr("name"); } for (i = 0; i < $("img").length; i++) { if ($("img").eq(i).offset().top > document.documentElement.clientHeight + $(window).scrollTop()) { $("img").eq(i).attr("src", "hc.gif"); } else { $("img").eq(i).attr("src", d[i]); } } $(window).scroll(function () { for (i = 0; i < $("img").length; i++) { if ($("img").eq(i).offset().top > document.documentElement.clientHeight + $(window).scrollTop()) { $("img").eq(i).attr("src", "hc.gif"); } else { $("img").eq(i).attr("src", d[i]); } } }); }) </script> </head> <body> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif" /> <br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif" /> <br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif" /> <br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif" /> <br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/>