亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

網頁前端優化之滾動延時加載圖片示例

2019-11-20 22:31:46
字體:
來源:轉載
供稿:網友

為什么要延時加載呢?頁面加載的時候就顯示全部的圖片不就得了?有必要多此一舉嗎?答案是肯定的。當要加載的圖片或者內容很多時,如果一次性加載完畢,那么整個頁面將會加載很久,意味著要用戶等待很久,這是對用戶不友好的?;蛟S你還會問,那不就做個分頁不就得了?其實這種滾動延時加載的技巧正是用來代替手動點擊下一頁的分頁技術。每換一頁都要用戶點擊一次,這也是對用戶不友好的。所以才有了滾動延時加載。

我這里把加載圖片作為例子,就好像百度圖片里的一樣,你往下滾動,它就會繼續顯示下一頁的圖片。

要求是這樣的,比如我要加載20張圖片,在頁面加載完畢后我先加載5張(前提是5張已經占滿瀏覽器窗口高度),當滾動條滾動到瀏覽器底部的時候再加載5張,一共加載4次。

原理是這樣的,先獲取當前瀏覽器的窗口高度a,然后給頁面綁定一個滾動條滾動事件,當滾動條滾動的時候,首先判斷時候已經加載了20張,如果小于20張,再獲取當前文檔距離頂部的高度b以及圖片內容的高度c,如果a+b>=c,繼續加載5張圖片。

我說過,我喜歡以盡可能少的代碼以及盡可能簡單的demo來為有需要的人展示一些強大的功能,因為所有的東西原理其實都很簡單,越簡單的demo越容易讓人理解和接受。所以代碼很少,直接上代碼:

復制代碼 代碼如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>頁面滾動延遲加載圖片</title>
    <style type="text/css">
        body {
            margin: 0px;
        }
        ul {
            list-style: none;
            margin: 0px;
            padding: 0px;
        }
    </style>
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
        var n = 0;
        var winHeight = $(window).height();
        $(function () {
            loadimg();
            $(window).scroll(function () {
                if (n < 20) {
                    var docTop = $(document).scrollTop();
                    var contentHeight = $("#content").height();
                    if (docTop + winHeight >= contentHeight - 10) {
                        loadimg();
                    }
                }
            });
        });
        function loadimg() {
            for (i = 0; i < 5; i++) {
                $("#content").append("<li><img src='1.jpg'/></li>");
            }
            n += 5;
        }
    </script>
</head>
<body>
    <ul id="content">
    </ul>
</body>
</html>

這里使用了jqury框架是為了讓代碼更少更簡單,如果你可以手寫純js代碼來實現這個功能當然最好不過,畢竟是優化,這個小小的功能也不需要使用到任何js框架。不過個人比較喜歡jquery框架,畢竟在大項目中,手寫純js代碼將會嚴重拖慢整個項目的進度,有一個強大的js框架擺在面前,合理運用還是能提高開發效率的,而且在一個大項目中,jquery不是僅僅能幫你實現這個小小的功能而已,像Ajax,它是能輕輕松松就能幫你搞定的。另外我這里只是寫死了加載這一張圖片,事實上它應該是使用Ajax來請求新的圖片,然后加載到頁面里的,因為想盡量簡單,就沒有涉及后臺邏輯,所以只加載這一張圖片。

你可能會注意到這句代碼:docTop + winHeight >= contentHeight - 10,這里我為什么要-10呢?如果不-10在IE、Firefox下測試時通過的,但是在Chrome下就不行了,因為在Chrome下,docTop + winHeight是永遠比contentHeight小1的,而在前兩個瀏覽器里,docTop + winHeight是比contentHeight大1的,這個是瀏覽器的問題,我們只能去兼容它們,最簡單的方法就是不一定要滾動到底部,滾動到距離底部還有10個像素的時候就可以加載新的圖片了。

需要源工程代碼?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人免费福利在线| 在线精品播放av| 国产免费久久av| 成人综合国产精品| 久久av中文字幕| 中文字幕精品www乱入免费视频| 亚洲精品自产拍| 亚洲人成欧美中文字幕| 欧美一区在线直播| 亚洲国产欧美一区二区三区久久| 久久亚洲精品小早川怜子66| 成人激情视频免费在线| 国产成人综合久久| 欧美一级大胆视频| 国产精品久久久精品| 欧美高跟鞋交xxxxhd| 午夜精品一区二区三区在线视频| 亚洲国产成人久久综合| 欧美激情视频在线观看| 一区二区成人精品| 亚洲午夜激情免费视频| 成人有码在线播放| 一区二区三区回区在观看免费视频| 欧美精品999| 亚洲一区999| 亚洲aⅴ男人的天堂在线观看| 国产亚洲综合久久| 亚洲第一免费播放区| 国产精品吴梦梦| 久久久视频免费观看| 91在线视频成人| 中文字幕久热精品视频在线| 国产精品中文久久久久久久| 97精品在线视频| 亚洲大胆人体av| 久久久天堂国产精品女人| 岛国av在线不卡| 久久国产精品视频| 国产九九精品视频| 亚洲美女又黄又爽在线观看| 亚洲男人天堂久| 激情成人在线视频| 亚洲成人xxx| 97高清免费视频| 色樱桃影院亚洲精品影院| 亚洲国产精品嫩草影院久久| 国产精品嫩草影院一区二区| 精品女厕一区二区三区| 国产精品精品国产| 国内揄拍国内精品| 国产精品你懂得| 日韩欧美精品免费在线| 精品性高朝久久久久久久| 亚洲精品国精品久久99热| 久久精品电影一区二区| 国产有码在线一区二区视频| 一本色道久久88亚洲综合88| 日韩少妇与小伙激情| 国产精品欧美激情| 国产日韩精品视频| 亚洲综合最新在线| 亚洲精品综合久久中文字幕| 欧美俄罗斯性视频| 亚洲激情自拍图| 成人性生交xxxxx网站| 精品中文字幕久久久久久| 久久九九精品99国产精品| 在线视频精品一| 国产成人aa精品一区在线播放| 国产精品免费视频xxxx| 精品国产福利视频| 日韩欧美国产成人| 久久成人精品视频| 中文字幕日韩欧美精品在线观看| 4p变态网欧美系列| 国产一区二区三区日韩欧美| 欧美在线观看视频| 国产精品麻豆va在线播放| 日韩美女主播视频| 欧美日韩在线观看视频| 亚洲欧洲自拍偷拍| 欧美一区二区视频97| 成人亲热视频网站| 亚洲欧美日韩另类| 亚洲一区二区自拍| 色婷婷综合成人| 精品女厕一区二区三区| 欧美一区二三区| 亚洲精品大尺度| 久久精品视频中文字幕| 国产丝袜一区二区三区免费视频| 中文字幕亚洲欧美| 久久成人国产精品| 欧美日韩国产中字| 欧美猛少妇色xxxxx| 亚洲国产一区二区三区四区| 国产欧美一区二区三区久久| 国产精品一二三视频| 欧美一区二三区| 欧美性猛交xxxxx水多| 国产精品一区二区久久| 成人免费午夜电影| 日韩欧美国产一区二区| 亚洲精品美女久久久| 亚洲欧美日韩网| 日本欧美精品在线| 奇门遁甲1982国语版免费观看高清| 午夜精品久久久久久久99热| 国产精品日韩在线一区| 欧美性xxxx在线播放| 日韩中文字幕亚洲| 亚洲男人天堂古典| 国产精品福利网| 国产精品情侣自拍| 国产在线精品一区免费香蕉| 欧美日韩精品在线| 欧美大片在线影院| 国产精品精品国产| 在线视频中文亚洲| 国产成人精品av在线| 亚洲欧美中文另类| 久久精品成人欧美大片| 国产日产亚洲精品| 亚洲精品中文字幕有码专区| 国外成人在线直播| 成人免费视频xnxx.com| 色播久久人人爽人人爽人人片视av| 欧美视频在线观看免费网址| 久久精品电影网| 亚洲男人天堂九九视频| 色青青草原桃花久久综合| 亚洲第一视频网站| 欧美激情手机在线视频| 日韩欧美一区二区在线| 国产精品普通话| 成人免费视频在线观看超级碰| 久久亚洲精品一区二区| 日韩电影中文字幕在线观看| 国产精品电影久久久久电影网| 国产精品无av码在线观看| 亚洲人a成www在线影院| 成人h视频在线观看播放| 九九热精品视频在线播放| 久久精品中文字幕| 亚洲另类激情图| 国产免费亚洲高清| 国产一区二区动漫| 中文字幕久久亚洲| 精品中文视频在线| 国产日韩欧美日韩大片| 亚洲天堂精品在线| 欧美丰满老妇厨房牲生活| 国产精品成人av性教育| 日韩精品极品在线观看播放免费视频| 日韩美女av在线免费观看| 亚洲人精品午夜在线观看| 欧美多人爱爱视频网站| 国产98色在线| 久久影院模特热| 亚洲人成电影网站| 在线观看不卡av| 亚洲第一国产精品| 日韩在线观看成人| 俺去亚洲欧洲欧美日韩|