圖片延時載入技術對大流量的網站來說是十分實用的。目前圖片在網站中大量使用,如果不加處理的話會對伺服器和頻寬造成級大壓力,透過只渲染目前使用者可見區域的圖片,可以大幅減少網站的請求數,降低網路頻寬資源。
unveil
這是一款十分輕量級的片時圖片加載組件
支援現代瀏覽器及IE7+, 對於支持retina (視網膜螢幕) 裝置
<img src="bg.png" data-src="img1.jpg" />
應用
<img src="bg.png" data-src="img2.jpg" data-src-retina="img2-retina.jpg" />
支援回呼
$(document).ready(function() { $("img").unveil(); });
支援手動觸發
$("img").unveil(200, function() { $(this).load(function() { this.style.opacity = 1; }); });
jquejquejquejquejqueal 的區域Github上面有4K個關注。
使用
引用jQuery和lazyload.js
$("img").trigger("unveil");
需要延時加載的圖片
<script src="jquery.js" type="text/javascript"></script> <script src="jquery.lazyload.js" type="text/javascript"></script>
<img class="lazy" data-original="img/example.jpg" width="640" height="480">
$(function() { $("img.lazy").lazyload(); });
<body> <img src="img/blank.gif" alt="Photo" data-echo="img/photo.jpg"> <script src="dist/echo.js"></script> <script> echo.init({ offset: 100, throttle: 250, unload: false, callback: function (element, op) { console.log(element, 'has been', op + 'ed') } }); // echo.render(); //手动触发调用 </script> </body>