午夜勾魂曲-午夜福利自怕-午夜福利在线观看6080-午夜福利院电影-国产精品毛片AV久久97-国产精品麻豆高潮刺激A片

懶加載封裝實現

2018-5-24    周周

1.什么是懶加載?
         當訪問一個頁面的時候,先把img元素背景圖片路徑替換成一張替代圖片的路徑(這樣就只需請求一次,占位圖),將圖片的真實路徑存儲在img自定義屬性中,只有當圖片出現在瀏覽器的可視區域內時,才設置圖片正真的路徑,讓圖片顯示出來。這就是圖片懶加載。
2.為什么要用懶加載?
       很多頁面,內容很豐富,頁面很長,圖片較多。比如說各種商城頁面。這些頁面圖片數量多,而且比較大,少說百來K,多則上兆。要是頁面載入就一次性加載完畢,提高首屏加載速度,可以減輕服務器壓力,節約流量,用戶體驗好。
3.懶加載實現封裝?

    lazyLoad由四個函數組成,init(初始化函數),checkShow(判斷圖片是否加載),shouldShow(將要展示的圖片),showImg(展示圖片)。

(1)初始化函數(init)  由于滾動事件太消耗性能,所以用定時器替換,不是滾動就觸發,而是滾動后200毫秒后觸發。

                var timer;
                function init(){
                    $(window).on("scroll",function(){
                        if(timer){
                            clearTimeout(timer);
                        }
                        timer = setTimeout(function(){
                            checkShow();  //
                        },200);
                    });
                }

(2)判斷”圖片是否加載“(checkshow)函數,如果圖片有isload屬性,就說明圖片已經加載過了,直接return。如果圖片沒有isload屬性,進入將要展示圖片shouldshow函數

                function checkShow(){
                    $lazyLoad.each(function(){
                        $cur = $(this);
                        if($cur.attr('isLoaded')){
                            return;
                        }
                        if(shouldShow($cur)){
                            showImg($cur);
                        }
                    });
                }

(3)將要展示圖片shouldshow函數,獲取屏幕可視寬度,滾動高度,要展示的元素到文檔的高度,如果元素到文檔的高度小于屏幕的可視高度加上滾動高度,說明元素已在可視區內,返回true,否則返回false。

               function shouldShow ($node){
                    var scrollH = $(window).scrollTop(),
                        windowH = $(window).height(),
                        top = $node.offset().top;
                    if(top < windowH + scrollH){
                        return true;
                    } else {
                        return false;
                    }

                }

(4)“展示圖片”函數,將元素的src屬性替換為自定義屬性data-src(真正圖片的地址)。

                function showImg ($node){
                    $node.find("img").attr("src",$node.data("src"));
                    $node.attr("isLoaded",true);
                }

(5)函數返回一個對象

              return {
                        init : init
           }

      這樣就實現懶加載封裝了!

日歷

鏈接

個人資料

藍藍設計的小編 http://www.gerard.com.cn

存檔

主站蜘蛛池模板: 亚洲va精品中文字幕 | 少妇无套内谢久久久久 | 手机在线免费观看毛片 | 全文都是肉高h文 | 亚洲精品久久无码AV片银杏 | 调教玩弄奶头乳夹开乳震动器 | 国产亚洲精品第一区香蕉 | 国产午夜精AV在线麻豆 | 精品久久久久久久国产潘金莲 | 人妖欧美一区二区三区四区 | 亚洲伊人久久大香线蕉综合图片 | 久久免费特黄毛片 | 丰满的寡妇hd高清在线观看 | 九九热在线免费观看 | 99午夜视频 | 亚洲免费国产 | 超碰高清熟女一区二区 | 美女叉腿掰阴大胆艺术照 | 精品久久日日躁夜夜躁AV | 最美女人体内射精一区二区 | 成人免费视频在 | 国产曰批试看免费视频播放免费 | 国产强奷伦奷片 | 99久久国产综合精品国 | 最近中文字幕2019免费版日本 | 一个人高清在线观看日本免费 | 亚洲国产韩国欧美在线不卡 | 在线免费观看亚洲视频 | 人成午夜免费视频 | 精品国产麻豆免费人成网站 | 国产在线精品亚洲另类 | 亚洲精品高清在线观看 | 亚久久伊人精品青青草原2020 | 男男女女爽爽爽视频免费 | 人妻超级精品碰碰在线97视频 | 亚洲2017天堂色无码 | 日韩AV爽爽爽久久久久久 | 中文在线无码高潮潮喷在线 | 邪恶肉肉全彩色无遮琉璃神社 | 久久艹综合 | 1000视频在线播放 |