前天接的一個zblog模板制作,需要用到圖片延遲加載,特來分享出來:
首先,上方這個文件需要下載解壓,引用jquery和剛下載的這個jquery.lazyload.js到你的頁面
注意不要遺漏了jqurey文件!
<script src="jquery-1.11.0.min.js"></script> <script src="jquery.lazyload.js"></script>
html圖片調(diào)用方法
為圖片加入樣式lazy 圖片路徑引用方法用data-original
<img class="lazy" data-original="img/bmw_m1_hood.jpg"> <img class="lazy" data-original="img/bmw_m1_side.jpg"> <img class="lazy" data-original="img/viper_1.jpg"> <img class="lazy" data-original="img/viper_corner.jpg"> <img class="lazy" data-original="img/bmw_m3_gt.jpg"> <img class="lazy" data-original="img/corvette_pitstop.jpg">
js出始化lazyload并設(shè)置圖片顯示方式,可以把下方這段放入模板的footer.php內(nèi)。
<script type="text/javascript" charset="utf-8"> $(function() { $("img").lazyload({effect: "fadeIn"});//在圖片中也可以不使用 class="lazy",初始化時使用: $("img.lazy").lazyload({effect: "fadeIn"}); $("img.lazy").lazyload({ threshold :180});//如果想提載入圖片,可以使用 threshold 進(jìn)行設(shè)置,含義是:在圖片距離屏幕180px時提前載入: }); </script>
參數(shù)設(shè)置
$("img.lazy").lazyload({ placeholder : "img/grey.gif", //用圖片提前占位(建議絕對地址圖,不要相對) // placeholder,值為某一圖片路徑.此圖片用來占據(jù)將要加載的圖片的位置,待圖片加載時,占位圖則會隱藏 ============== effect: "fadeIn", // 載入使用何種效果 // effect(特效),值有show(直接顯示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn ============== threshold: 200, // 提前開始加載 // threshold,值為數(shù)字,代表頁面高度.如設(shè)置為200,表示滾動條在離目標(biāo)位置還有200的高度時就開始加載圖片,可以做到不讓用戶察覺 ============== event: 'click', // 事件觸發(fā)時才加載 // event,值有click(點(diǎn)擊),mouseover(鼠標(biāo)劃過),sporty(運(yùn)動的),foobar(…).可以實現(xiàn)鼠標(biāo)莫過或點(diǎn)擊圖片才開始加載,后兩個值未測試… ============== container: $("#container"), // 對某容器中的圖片實現(xiàn)效果 // container,值為某容器.lazyload默認(rèn)在拉動瀏覽器滾動條時生效,這個參數(shù)可以讓你在拉動某DIV的滾動條時依次加載其中的圖片 ============== failurelimit : 10 // 圖片排序混亂時 // failurelimit,值為數(shù)字.lazyload默認(rèn)在找到第一張不在可見區(qū)域里的圖片時則不再繼續(xù)加載,但當(dāng)HTML容器混亂的時候可能出現(xiàn)可見區(qū)域內(nèi)圖片并沒加載出來的情況,failurelimit意在加載N張可見區(qū)域外的圖片,以避免出現(xiàn)這個問題. });
以上方法是修改模板中已知道的img標(biāo)簽內(nèi)方法,但文章中發(fā)布的圖片又該如何解決呢?
《zblogPHP模板修改文章內(nèi)img標(biāo)簽內(nèi)元素做jQuery.lazyload延遲加載》