<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36, comments - 419, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

     

    經常上tudou網,發現tudou首頁加載圖片的功能很有意思,tudou首頁從"娛樂"這個板塊往下的所有視頻的縮略圖并不是在頁面打開后就加載的,
    而是當用戶拖動滾動條到了"娛樂"這個板塊,才開始加載圖片的。這樣做的好處當然是如果有用戶不需要查看下面的內容,則免去了下面所有圖片的請求,
    這對減少服務器的壓力還是很有幫助的。

          經常上tudou網,發現tudou首頁加載圖片的功能很有意思,tudou首頁從"娛樂"這個板塊往下的所有視頻的縮略圖并不是在頁面打開后就加載的,而是當用戶拖動滾動條到了"娛樂"這個板塊,才開始加載圖片的。這樣做的好處當然是如果有用戶不需要查看下面的內容,則免去了下面所有圖片的請求,這對減少服務器的壓力還是很有幫助的。

     

    實現:

     

       其實tudou的實現原理很簡單,

     

       1.先把所有需要延遲加載的圖片的src都設置成同1個小圖片的連接(sprite.gif),把真真圖片的連接放進圖片的alt屬性中,look下代碼:

       <a class="inner" target="new" title="史上最重街舞選手和最柔軟街舞選手" >

       <img width="120" height="90" class="pack_clipImg lazyImg" alt="http://i01.img.tudou.com/data/imgs/i/051/720/095/p.jpg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" coords="_DAA"/>

       </a>   

     

       2. 綁定window.scroll事件,在該事件里面的重設所有class為lazyImg的圖片的src值,在土豆首頁找到如下JS:

       var o=function(){

       var s=TUI.pos.scrollTop(),q=c;

       if(q.box[0]){

        var r=q.box.offset().top;

          if(r-s>0&&r-TUI.pos.windowHeight()<s){

        q.init()

         }else{

        q.stop()

         }

       }

       if(!h||s<590){return true}

        TUI.widget.quickPlaylist.load();

        h=false

    };

        o();

        $(window).bind("scroll",o);

     

       我沒有去跟入查看TUI.widget.quickPlaylist.load()方法的實現,tudou的JS都是壓縮混淆的,看起來挺累,不過大家知道原理就可以了。

     

    實例:

         上面說了那么多,最后還是來個實例比較實際點,畢竟眼見為實嘛。

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    </head>
    <body>
        能看的見到圖片:
    <img src="http://at-img4.tdimg.com/board/2010/5/tylc-115X55.jpg"/>
        
        
    <div id="lazyBox" style="margin-top:100px;">
           一開始看不到的圖片:
           
    <img width="120" height="90" style="border:1px solid blue;" class="lazyImg" alt="http://i01.img.tudou.com/data/imgs/i/051/720/095/p.jpg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" coords="_DAA"/>
           
    <img width="120" height="90" style="border:1px solid blue;" class="lazyImg" alt="http://i01.img.tudou.com/data/imgs/i/051/871/396/m20.jpg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" coords="_DBA"/>
      
    </div>
        
    <div style="height:1000px;">
             
      
    </div>    
      
    <script type="text/javascript">
          
    var hasShow = false;
          $(window).bind(
    "scroll",function(){
              
    if(hasShow==true){
                  $(window).unbind(
    "scroll");
                  
    return;
              }
              
    var t = $(document).scrollTop();
              
    if(t>50){
                  
    // 滾動高度超過50,加載圖片
                  hasShow = true;
                  $(
    "#lazyBox .lazyImg").each(function(){
                      $(
    this).attr("src",$(this).attr("alt"));
                  });
              }
          });
      
    </script>        
    </body>
    </html>    

         

         把上面代碼copy到本地運行下就可以看到效果了。

     



    [作者]:BearRui(AK-47)
    [博客]: http://www.tkk7.com/bearrui/
    [聲明]:本博所有文章版權歸作者所有(除特殊說明以外),轉載請注明出處.
    英雄,別走啊,幫哥評論下:  

    精彩推薦 好文要頂 水平一般 看不懂 還需努力

    評論

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-05-25 08:21 by yx
    好文

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-05-25 09:26 by 咖啡妝
    方法不錯 但是細節東西太多

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-05-25 09:26 by 咖啡妝
    方法不錯 但是細節東西太多

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-05-25 10:21 by BearRui(AK-47)
    @咖啡妝
    細節東西不多吧,應該還算簡單。

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-05-26 11:32 by Archey
    TUI類,都被剝離出來了,不錯

    # re: 淺談tudou.com首頁圖片延遲加載的效果[未登錄]  回復  更多評論   

    2010-05-28 16:25 by m
    http://www.zoeey.com/2010/05/28/image-lazy-load-visible-range-load/

    圖片延遲加載,可視區域圖片加載

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-05-29 20:48 by 熾芒文學網
    學到東西了~~~

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-05-29 21:41 by BearRui(AK-47)
    @熾芒文學網
    謝謝支持

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-06-09 17:09 by panasia
    google閱讀器,淘寶現在的列表也都是采用了這種效果。。

    # re: 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-06-09 17:11 by BearRui(AK-47)
    @panasia
    google reader的延遲加載比這個要復雜很多。因為分析的內容比較多。

    # re: 名站技術分析 — 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2010-06-24 13:56 by pandora style beads
    頂了,不錯

    # re: 名站技術分析 — 淺談tudou.com首頁圖片延遲加載的效果  回復  更多評論   

    2012-12-05 10:17 by 子痕
    看到這個就樂了“ 英雄,別走啊,幫哥評論下:”
    主站蜘蛛池模板: 亚洲视频一区在线观看| 在线美女免费观看网站h| 成人看的午夜免费毛片| 亚洲最大中文字幕| 国产成人免费高清激情明星| 亚洲一区中文字幕久久| 亚洲免费视频在线观看| 亚洲AV综合色区无码另类小说| 中文字幕av免费专区| 久久精品国产精品亚洲人人| 成年黄网站色大免费全看| 亚洲AV无码一区东京热久久| 永久免费AV无码网站国产| 无码专区—VA亚洲V天堂| 最近中文字幕大全免费视频 | 亚洲剧场午夜在线观看| 国产免费毛不卡片| 亚洲人成网亚洲欧洲无码| 四虎影院永久免费观看| 亚洲阿v天堂在线2017免费| 中文字幕精品亚洲无线码一区| 国产日韩一区二区三免费高清| 亚洲一区二区三区高清| 成年在线网站免费观看无广告| 激情小说亚洲图片| 亚洲色精品88色婷婷七月丁香| 99久久99热精品免费观看国产| 亚洲国产成人久久三区| 国产成人免费A在线视频| 两个人www免费高清视频| 久久亚洲精品成人无码网站| 成人毛片18女人毛片免费视频未 | 激情吃奶吻胸免费视频xxxx| 一本色道久久综合亚洲精品| 1000部拍拍拍18勿入免费视频下载 | 亚洲国产成人AV网站| 亚洲精品无码Av人在线观看国产| 亚洲免费黄色网址| 亚洲av综合日韩| 亚洲国产老鸭窝一区二区三区| 成人人免费夜夜视频观看|