画像遅延技術の一般的な考え方 1. img 要素に対応する src パスを背景画像として設定し、img に対応する URL パスを自己設定属性に格納します (src 置換用)。 。 2. スクロールの高さとウィンドウの高さを取得します。 3 遅延ロードする必要がある img 配列をループし、img の高さを取得し、要素はビジュアルウィンドウ内にあります。要素がビジュアル ウィンドウ内にある場合は、src をテスト コード html コピー コード コードは次のとおりです。 <br>.wrap { <br>margin: 20px auto; <br>} .wrap div { <br>border: 1px dotted #E29808; <br>line-height: 30px; <br>text-align: center; >width : 150px; <br>} <br>.sortable { <br>背景色: #E6D6AB; <br>border: 1px ソリッド <br>} <br>#showImg li{ <br>幅:30%; <br>マージン:15px; <br>背景:#CCC; } <br>#showImg li:nth-child(3n){ <br>margin-left:3%; <br>} <br>#showImg li img{ <br>width:100%;高さ: <br>} <br> <br><br><body> <br><div id="showImg"> ><li><img src="http://img4.duitang.com/uploads/item/201306/08/20130608190125_3kFty.jpeg" alt="test" /></li> ;li> ;<img src="http://cdn.duitang.com/uploads/item/201306/07/20130607171626_QkC3T.thumb.600_0.jpeg" alt="テスト" /></li> ><li><img src="http://i2.sinaimg.cn/gm/2011/0127/U5238P115DT20110127111837.jpg" alt="テスト" /></li> <br></ div> <br><br> <br>js 部分<br><br><br><br><br> コードは以下のように:<br><div class="codebody" id="code78430"> <br>var imgsglobal=[ <br>"http://cdn.duitang.com/uploads/item/201306/07/20130607171626_QkC3T.thumb.600_0.jpeg", <br>"http://img4 .duitang.com/uploads/item/201306/07/20130607172438_Teijr.jpeg", <br>"http://cdn.duitang.com/uploads/item/201306/08/20130608190311_BYwcA.thumb.600_0.jpeg", <br>"http://g-ec4.images-amazon.com/images/G/28/BOOK-Catalog/Liaoxiaojun/B003U5TATY_01_AMZN.jpg"、<br>"http://www.yishun.net/tuysL3R1eXNpbWcwNC50YW9iYW9jZG4uY29tL2ltZ2V4dHJhL2k 0Lzc0MDY1MDAzMi9UMl9HbmVYanRhWFhYWFhYWFhfISE3NDA2NTAWMzIuanBn. jpg", 、<br>"http://img4.duitang.com/uploads/item/201306/08/20130608190125_3kFty.jpeg"、<br>"http://img4.duitang.com/uploads/item/201304/29/20130429142901_SQjJv.thumb.600_0.jpeg"、<br>"http://img4.duitang.com/uploads/item/201112/ 04/20111204170801_fiBKm.jpg"、<br>"http://img2.duitang.com/uploads/item/201211/06/20121106233027_LdQaS.thumb.600_0.jpeg"、<br>"http://i2.sinaimg. cn/gm/2011/0127/U5238P115DT20110127111837.jpg", <br>"http://img2.duitang.com/uploads/item/201209/24/20120924162953_hLPJe.jpeg", <br>"http://wenwen. soso.com/p/20110624/20110624085901-745594320.jpg", <br>"http://img4.duitang.com/uploads/item/201206/15/20120615185646_uzmrt.thumb.600_0.jpeg", <br>" http://img4.duitang.com/uploads/item/201202/11/20120211213039_U4Sj8.thumb.600_0.jpg", <br>"http://cdn.duitang.com/uploads/item/201201/25/20120125145922_n4Vz8 .thumb.600_0.jpg" <br>]; <br>関数 addImgEle(){ <br>var str=''; <br>for(var i=0, len=imgsglobal.length; i<len; i ){ <br>str ='<li><img class="lazyImg" src="wait" resrc="' imgsglobal[i] '" /></li>' <BR>} <BR>$("#showImg").append(str); <BR>} <BR>$(document).ready(function(){ <BR>addImgEle(); <BR>}); <BR>(function(win){ <BR>var LazyLoad=win['lazyLoad']||{}; <BR>var Camelize = function (s) { <BR>return s.replace(/-(w) /g, function (strMatch, p1) { <BR>return p1.toUpperCase(); <BR>}; <BR>lazyLoad={ <BR>init:function(ImgClass){ <BR> var offsetPage = window.pageYOffset ? window.pageYOffset : window.document.documentElement.scrollTop, <BR>offsetWindow = offsetPage Number(window.innerHeight ? window.innerHeight : document.documentElement.clientHeight); <BR>for(var i=0, len=Imgeles.length; i<len; i ){ <BR>if(Imgeles[i].getAttribute("resrc")=="show"){ <BR>続く; <BR>} <BR>var o=Imgeles[i]; <BR>if(o){ <BR>postPage = o.getBoundingClientRect().top window.document.body.scrollTop ; <BR>postWindow = postPage Number(this.getStyle(o, 'height').replace('px', '')); <BR>if ((postPage > offsetPage && postPage < offsetWindow) || ( postWindow > offsetPage && postWindow < offsetWindow)){ <br>var src=o.getAttribute("resrc"); <br>o.setAttribute("resrc", "show"); <br>} <br>} <br>} <br>}, <br>getStyle:function (要素, プロパティ) { <br>if (arguments.length != 2) return false; <br>var value = element.style[camelize(property)]; <br>if (!value) { <br>if (document.defaultView && document.defaultView.getComputedStyle) { <br>var css = document.defaultView.getComputedStyle(element, null); <br>値 = css ? css.getPropertyValue(プロパティ) : null; <br>} else if (element.currentStyle) { <br>value = element.currentStyle[camelize(property)]; <br>} <br>} <br>戻り値 == 'auto' ? '' : 価値; <br>} <br>} <br>win.lazyLoad=lazyLoad; <br>})(ウィンドウ); <br>$(document).ready(function(){ <br>lazyLoad.init($("img.lazyImg")); <br>window.onscroll=function (){ <br>lazyLoad.init($ ("img.lazyImg")); <br>} <br>}); <br><br> </div> </div>