图片按需加载实现
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>按需加载图片</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 ul{ 12 } 13 img{ 14 width: 1000px; 15 height:700px; 16 display: block; 17 } 18 </style> 19 </head> 20 <body> 21 <div class="container"> 22 <ul> 23 <li><a href=""><img src="" date-src="img/IMG_20130916_172507.jpg" alt=""></a></li> 24 <li><a href=""><img src="" date-src="img/8.jpg" alt=""></a></li> 25 <li><a href=""><img src="" date-src="img/3.jpg" alt=""></a></li> 26 <li><a href=""><img src="" date-src="img/4.jpg" alt=""></a></li> 27 <li><a href=""><img src="" date-src="img/5.jpg" alt=""></a></li> 28 <li><a href=""><img src="" date-src="img/6.jpg" alt=""></a></li> 29 <li><a href=""><img src="" date-src="img/7.jpg" alt=""></a></li> 30 <li><a href=""><img src="" date-src="img/8.jpg" alt=""></a></li> 31 <li><a href=""><img src="" date-src="img/IMG_20130916_172507.jpg" alt=""></a></li> 32 <li><a href=""><img src="" date-src="img/IMG_20130916_172507.jpg" alt=""></a></li> 33 </ul> 34 <button class="demo">点击我</button> 35 </div> 36 <script type="text/javascript"> 37 ;(function(w,d){ 38 var domimg = d.getElementsByTagName('img'); 39 40 window.addEventListener('scroll',function(){ 41 for (var i = 0; i < domimg.length; i++) { 42 (function(i){ 43 //domimg[i].offsetTop:图片距离document顶部的距离,包括卷去的高度,每个图片的这个高度都是固定的 44 //document.documentElement.clientHeight:浏览器的高度 45 //document.body.scrollTop:被卷去的高度。因为pageYOffset有兼容性问题 46 if(domimg[i].offsetTop-document.documentElement.clientHeight<=document.body.scrollTop){ 47 domimg[i].src = domimg[i].getAttribute('date-src'); 48 } 49 })(i); 50 }; 51 },false); 52 })(window,document) 53 </script> 54 </body> 55 </html>