倉藍

          日記本

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            23 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
          如果網頁包含大量圖片,那么,采用Lazyload來延遲圖片的載入以加速網頁整體在瀏覽器中的載入是個不錯的方法!

          上面這句話并不是翻譯來的,只是我想一句話說完。

          下面開始吧:

          1.在頁面頭部加載jQuery和這個Lazyload插件,如果已經加載過了jQuery,那就不用再次加載了:

              <script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-1.8.3.min.js" type="text/javascript"></script>   
              <script src="jquery.lazyload.js" type="text/javascript"></script>   

          是的,我習慣在國內用又拍云的云加速。

          對圖片的處理:

              <img class="lazy" src="img/grey.gif" data-original="img/true_image.jpg"  width="730" heigh="300">   

          上面示例中的grey.gif實際上相當于一個占位符,建議采用1*1px的灰色png或者gif,data-original后面的才是真正的圖片鏈接,class="lazy"是個可以定義的特定class。
          Lazyload基本設置

              <script type="text/javascript" charset="utf-8">   
                  $(function() {   
                      $("img.lazy").lazyload();   
                  });   
              </script>  

          Lazyload基本設置的在線DEMO:Lazyload DEMO1
          對不支持js瀏覽器的處理

              <img class="lazy" src="img/grey.gif" data-original="img/true_image.jpg"  width="730" heigh="300">   
              <noscript><img src="img/true_image.jpg" width="730" heigh="300"></noscript>  

          用CSS隱藏占位符:

              .lazy {   
                display: none;   
              }  

          對支持js的瀏覽器,應該在DOM準備階段就初始化插件:

              $("img.lazy").show().lazyload();  

          當然了,這樣處理兼容性更好,不過現在的瀏覽器大多都是支持js的。
          加載敏感度

          默認的情況下,圖片將會在出現在屏幕上時顯示,如果想提載入圖片,可以使用 threshold 進行設置,下例的含義是:在圖片距離屏幕180px時提前載入:

              $("img.lazy").lazyload({ threshold :180});  

          占位圖片

          可以自定義一個簡單的淺色或灰色系的小圖片(越小越好,1*1px最佳,格式推薦采用gif)作為占位圖片來觸發加載動作。
          事件觸發

          可以是jQuery的任何事件(如click、mouseover),還可以使用自己定義的事件。

          例如:處于等待狀態, 直到瀏覽者滾動到窗口中圖片所在位置,在占位圖片被點擊之前不加載圖片, 可以這樣做:

              $("img").lazyload({   
                  placeholder : "img/grey.gif",   
                  event : "click"  
              });  

           特效的使用

          當圖片完全加載的時候,默認使用show()方法來顯示圖片,所以,上面的那個基本設置示例中未寫出show(),但是可以照常運行。
           圖片淡入(FadeIn)效果

              $("img.lazy").lazyload({    
                  effect : "fadeIn"  
              });  

          Lazyload圖片淡入效果演示
          將圖片放在特定容器中

          先看示例:水平滾動演示頁面和垂直滾動的演示頁面

          CSS部分示例

              #container {   
                  height: 600px;   
                  overflow: scroll;   
              }  

          js部分示例

              $("img.lazy").lazyload({            
                   container: $("#container")   
              });  

           圖片未按順序排列的情況

          滾動頁面的時候,Lazyload會按照在HTML代碼中的順序先后可視范圍內的加載圖片,在第一張不在可視范圍內的圖片處停止執行,但是在某些頁面布局中,這種聰明的假設可能是不成立的,那么可以用failurelimit來控制加載動作:

              $("img.lazy").lazyload({    
                  failure_limit : 10   
              });  

          上面的意思是:在找到10張不在可視范圍內的圖片時停止執行。額,好吧,如果你的頁面布局猥瑣到10不足以滿足的時候,那就再大一些吧。
          Lazyload定時延遲圖片載入

          Lazyload的一個并不完備的功能,并不影響使用,但是實際用途并不大!用途描述:在頁面和可見圖片載入后一定時間內載入圖片。Lazyload定時延遲圖片載入示例

              $(function() {             
                  $("img:below-the-fold").lazyload({   
                      event : "sporty"  
                  });   
              });   
              $(window).bind("load", function() {    
                  var timeout = setTimeout(function() {$("img.lazy").trigger("sporty")}, 5000);   
              });  

          上例中采用的參數或者說定時是5秒。
           加載隱藏的圖片

          你的頁面上可能隱藏了很多不可見的圖片用作特殊用途,Lazyload默認是忽略這些圖片的,如果不想忽略掉,可以這樣:

              $("img.lazy").lazyload({    
                  skip_invisible : false   
              });  

           
           Lazyload下載與兼容性

          最新的未壓縮版 source與壓縮版 minified。

          你看到這篇文章時可能有更新的版本了,請點擊Lazyload了解更多!

          兼容于:

          OSX平臺: Safari 5.1, Safari 6, Chrome 20, Firefox 12

          WIN平臺:Chrome 20, IE 8 and IE 9 on Windows

          iPhone和 iPad上:Safari 5.1
          posted on 2014-01-02 11:16 cangshi 閱讀(7702) 評論(1)  編輯  收藏 所屬分類: wordpress

          Feedback

          # re: (轉載)jQuery插件Lazyload的使用 2015-11-28 11:34 139圖庫
          很復雜  回復  更多評論
            

          主站蜘蛛池模板: 岳阳市| 洮南市| 滕州市| 巫山县| 杭州市| 洛阳市| 蚌埠市| 安庆市| 搜索| 峨山| 宾阳县| 浦江县| 萝北县| 达日县| 青阳县| 佛坪县| 铁岭市| 小金县| 天镇县| 永春县| 渝中区| 江达县| 定远县| 莱西市| 浦县| 鹤峰县| 德保县| 十堰市| 昭平县| 获嘉县| 虞城县| 闵行区| 虎林市| 清原| 昆明市| 监利县| 霍林郭勒市| 新邵县| 溧水县| 长寿区| 鄂托克前旗|