對於有較多的圖片的網頁,使用圖片延遲加載,能有效的提升頁面加載速度,好比商城網頁。html
lazyload使用方法:jquery
載入 JavaScript 文件:api
<script src="jquery.js"></script> <script src="jquery.lazyload.js"></script>
修改 HTML 代碼中須要延遲加載的 IMG 標籤:app
<!-- 將真實圖片地址寫在 data-original 屬性中,而 src 屬性中的圖片換成佔位符的圖片(例如 1x1 像素的灰色圖片或者 loading 的 gif 圖片) 添加 class="lazy" 用於區別哪些圖片須要延時加載,固然你也能夠換成別的關鍵詞,修改的同時記得修改調用時的 jQuery 選擇器 添加 width 和 height 屬性有助於在圖片未加載時佔滿所須要的空間 --> <img class="lazy" src="grey.gif" data-original="example.jpg" width="640" heigh="480">
調用 Lazy Load:ide
$('img.lazy').lazyload();
參數參考網址:http://code.ciaoca.com/jquery/lazyload/spa
Lazy Load遇到的問題:當圖片只指定width而沒有設定height的時候,圖片未加載時的佔位是width=height的大小;插件
項目中遇到的問題,當頁面中同時使用swiper插件作圖片輪播的時候,就不能使用Lazy Load來處理輪播的圖片,這時就須要使用swiper的延遲加載參數-lazyLoading:true;code
具體使用方法:(http://www.swiper.com.cn/api/Images/2015/0308/213.html)htm
設爲true開啓圖片延遲加載,使preloadImages無效。
須要將圖片img標籤的src改寫成data-src,而且增長類名swiper-lazy。
背景圖的延遲加載則增長屬性data-background(3.0.7開始啓用)。blog
<div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <img data-src="path/to/picture-1.jpg" class="swiper-lazy"> <div class="swiper-lazy-preloader"></div> </div> <div class="swiper-slide"> <img data-src="path/to/picture-2.jpg" class="swiper-lazy"> <div class="swiper-lazy-preloader"></div> </div> <div class="swiper-slide"> <div data-background="path/to/picture-3.jpg" class="swiper-lazy">slide3</div> </div> </div> </div> <!-調用-> <script> var mySwiper = new Swiper('.swiper-container',{ lazyLoading : true, }) </script>
swiper lazy遇到的問題:當圖片只指定width而沒有設定height的時候,圖片未加載時的佔位是height=0的大小;