<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        前端圖片懶加載(lazyload)的實現方法(提高用戶體驗)

        來源:懂視網 責編:小采 時間:2020-11-27 22:32:07
        文檔

        前端圖片懶加載(lazyload)的實現方法(提高用戶體驗)

        前端圖片懶加載(lazyload)的實現方法(提高用戶體驗):定義 圖片懶加載又稱圖片延時加載、惰性加載,即在用戶需要使用圖片的時候加載,這樣可以減少請求,節省帶寬,提高頁面加載速度,相對的,也能減少服務器壓力。 惰性加載是程序人性化的一種體現,提高用戶體驗,防止一次性加載大量數據,而是根據用戶需要進行
        推薦度:
        導讀前端圖片懶加載(lazyload)的實現方法(提高用戶體驗):定義 圖片懶加載又稱圖片延時加載、惰性加載,即在用戶需要使用圖片的時候加載,這樣可以減少請求,節省帶寬,提高頁面加載速度,相對的,也能減少服務器壓力。 惰性加載是程序人性化的一種體現,提高用戶體驗,防止一次性加載大量數據,而是根據用戶需要進行

        定義

        圖片懶加載又稱圖片延時加載、惰性加載,即在用戶需要使用圖片的時候加載,這樣可以減少請求,節省帶寬,提高頁面加載速度,相對的,也能減少服務器壓力。

        惰性加載是程序人性化的一種體現,提高用戶體驗,防止一次性加載大量數據,而是根據用戶需要進行資源的請求。

        實現

        懶加載的難點在于確定某張圖片是否是用戶需要的資源,在瀏覽器中,用戶需要的是可視區內的資源,因此我們只需要判斷圖片是否已經呈現在可視區內,當圖片呈現在可視區內時,獲取圖片的真實地址并賦給該圖片即可(圖片寬高需要指定,可以利用padding處理)。

        判斷是否存在于可視區

        瀏覽器視口高度

        待加載資源距離視口頂端位置

        通過以上兩點即可判斷圖片是否位于可視區內。

        var nodes = document.querySelectorAll('img[data-src]'),
         elem = nodes[0],
         rect = elem.getBoundingClientRect(),
         vpHeight = document.documentElement.clientHeight;
        if(rect.top < vpHeight && rect.bottom>=0) {
         console.log('show')
        }

        之后獲取圖片的真實地址

        <img src="loading.gif" alt="" data-src="1.gif">
        ...
        <script data-filtered="filtered">
         var src = elem.dataset.src;
        </script>

        把真實地址賦給圖片

        var img = new Image();
        img.onload = function(){
         elem.src = img.src;
        }
        img.src = src;

        完整代碼

        var scrollElement = document.querySelector('.page'),
         viewH = document.documentElement.clientHeight;
        function lazyload(){
         var nodes = document.querySelectorAll('img[data-src]');
         Array.prototype.forEach.call(nodes,function(item,index){
         var rect;
         if(item.dataset.src==='') return;
         rect = item.getBoundingClientRect();
         if(rect.bottom>=0 && rect.top < viewH){
         (function(item){
         var img = new Image();
         img.onload = function(){
         item.src = img.src;
         }
         img.src = item.dataset.src
         item.dataset.src = ''
         })(item)
         }
         })
        }
        lazyload();
        scrollElement.addEventListener('scroll',throttle(lazyload,500,1000));
        function throttle(fun, delay, time) {
         var timeout,
         startTime = new Date();
         return function() {
         var context = this,
         args = arguments,
         curTime = new Date();
         clearTimeout(timeout);
         if (curTime - startTime >= time) {
         fun.apply(context, args);
         startTime = curTime;
         } else {
         timeout = setTimeout(fun, delay);
         }
         };
        };

        總結

        以上所述是小編給大家介紹的前端圖片懶加載(lazyload)的實現方法(提高用戶體驗),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        前端圖片懶加載(lazyload)的實現方法(提高用戶體驗)

        前端圖片懶加載(lazyload)的實現方法(提高用戶體驗):定義 圖片懶加載又稱圖片延時加載、惰性加載,即在用戶需要使用圖片的時候加載,這樣可以減少請求,節省帶寬,提高頁面加載速度,相對的,也能減少服務器壓力。 惰性加載是程序人性化的一種體現,提高用戶體驗,防止一次性加載大量數據,而是根據用戶需要進行
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费看一级做a爰片久久| 毛片高清视频在线看免费观看| 日韩免费三级电影| 国产精品亚洲一区二区麻豆| 成人免费的性色视频| 亚洲国产精品乱码在线观看97| 免费无码VA一区二区三区| 亚洲自偷自偷精品| 成年黄网站色大免费全看| 亚洲国产亚洲综合在线尤物| 在线观看成人免费视频不卡| 亚洲熟妇AV日韩熟妇在线| 国产成人免费网站在线观看| fc2免费人成在线| 亚洲成av人片在线观看无码不卡| 久久亚洲免费视频| 国产成人精品日本亚洲专一区| 好男人看视频免费2019中文| 狠狠热精品免费观看| 在线精品亚洲一区二区小说| 一级做a爰全过程免费视频| 亚洲一级片在线观看| 国产一区二区三区在线免费| 国产高清对白在线观看免费91 | 亚洲一区在线免费观看| 国产大片线上免费观看| 色视频在线观看免费| 91麻豆国产自产在线观看亚洲 | 国产卡一卡二卡三免费入口| 国产AV无码专区亚洲AV麻豆丫| 久久久久国产成人精品亚洲午夜| 久久精品成人免费观看| 亚洲精品无码少妇30P| 亚洲日韩欧洲无码av夜夜摸| 亚洲人成免费电影| 色婷婷亚洲一区二区三区| 亚洲AV无码精品色午夜在线观看| av无码国产在线看免费网站| 特级毛片免费播放| 亚洲一区动漫卡通在线播放| 不卡一卡二卡三亚洲|