懶加載-回到頂部

問答:

1.如何判斷一個元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之前捆等,肉眼可見)。寫一個函數(shù)isVisible實現(xiàn)萎攒。

當一個元素的底部不超過瀏覽器的上邊緣(元素本身的高度+元素在文檔中的的高度>滾動條滾動的距離)柳骄,頂部不超過瀏覽器的下邊緣(元素在文檔中的高度<窗口的高度+滾動條滾動的距離)瘦赫,就可以說這個元素是在窗口的可視范圍之內(nèi)的。

    function isVisible($node){
        var nodeH = $node.height();//獲取元素本身的高度
        var nodeTop = $node.offset().top;//獲取元素在文檔中的高度
        var scrollTop = $(window).scrollTop();//獲取滾動條滾動的距離
        var winH = $(window).height();//獲取窗口的高度梁肿。
        return (nodeH+nodeTop > scrollTop && nodeTop < scrollTop + winH ) ? true : false//條件判斷蜓陌。
    }

2.當窗口滾動時,判斷一個元素是不是出現(xiàn)在窗口可視范圍吩蔑。每次出現(xiàn)都在控制臺打印 true 钮热。用代碼實現(xiàn)

    $(window).on("scroll",function(){//對窗口添加滾動事件監(jiān)聽
        if(isVisible($node)){//如果函數(shù)返回為true時,即代表指定元素出現(xiàn)在窗口可視范圍內(nèi)
            console.log(true);//控制臺打印true烛芬。
        }
    });
    function isVisible($node){
        var nodeH = $node.offset().top;//獲取元素在文檔中的高度
        var scrollTop = $(window).scrollTop();//獲取滾動條滾動的距離
        var winH = $(window).height();//獲取窗口的高度隧期。
        return (nodeH < scrollTop + winH) ? true : false//進行距離判斷。
    }

3.當窗口滾動時赘娄,判斷一個元素是不是出現(xiàn)在窗口可視范圍仆潮。在元素第一次出現(xiàn)時在控制臺打印 true,以后再次出現(xiàn)不做任何處理遣臼。用代碼實現(xiàn)

    var isLoad; //設置一個狀態(tài)鎖
    $(window).on("scroll",function(){
        if(isVisible($node) && isLoad){//如果函數(shù)返回為true性置,且狀態(tài)鎖為true時,控制臺才打印true
            console.log(true);
            isLoad = false;//當元素第一次出現(xiàn)并且執(zhí)行代碼后揍堰,使狀態(tài)鎖為false鹏浅,這樣元素下次再出現(xiàn)時不在做任何處理。
        }
    });
    function isVisible($node){
        var nodeH = $node.offset().top;//獲取元素在文檔中的高度
        var scrollTop = $(window).scrollTop();//獲取滾動條滾動的距離
        var winH = $(window).height();//獲取窗口的高度屏歹。
        return (nodeH < scrollTop + winH) ? true : false//進行距離判斷隐砸。
    };

4.圖片懶加載的原理是什么西采?

將圖片地址存放在自定義屬性中凰萨,當完成某種事件操作后,再將圖片地址放在正常的img屬性中,完成圖片的加載胖眷。這樣做的好處是能大大減少網(wǎng)頁加載的時間武通。

代碼:

1.實現(xiàn)如下回到頂部效果,當頁面滾動到一定距離時,窗口右下角會出現(xiàn)回到頂部按鈕珊搀,點擊按鈕頁面會滾動到頂部冶忱。

代碼地址
預覽地址

2.實現(xiàn)如下圖片懶加載效果

代碼地址
預覽地址

3.實現(xiàn)如下無限滾動效果

代碼地址
預覽地址
代碼3本地測試成功。


本文版權(quán)歸本人和饑人谷所有境析,轉(zhuǎn)載請注明來源囚枪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市劳淆,隨后出現(xiàn)的幾起案子链沼,更是在濱河造成了極大的恐慌,老刑警劉巖沛鸵,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件括勺,死亡現(xiàn)場離奇詭異,居然都是意外死亡曲掰,警方通過查閱死者的電腦和手機疾捍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來栏妖,“玉大人乱豆,你說我怎么就攤上這事〉踔海” “怎么了宛裕?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長趾徽。 經(jīng)常有香客問我续滋,道長,這世上最難降的妖魔是什么孵奶? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任疲酌,我火速辦了婚禮,結(jié)果婚禮上了袁,老公的妹妹穿的比我還像新娘朗恳。我一直安慰自己,他們只是感情好载绿,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布粥诫。 她就那樣靜靜地躺著,像睡著了一般崭庸。 火紅的嫁衣襯著肌膚如雪怀浆。 梳的紋絲不亂的頭發(fā)上谊囚,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音执赡,去河邊找鬼镰踏。 笑死,一個胖子當著我的面吹牛沙合,可吹牛的內(nèi)容都是我干的奠伪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼首懈,長吁一口氣:“原來是場噩夢啊……” “哼绊率!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起究履,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤滤否,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后最仑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顽聂,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年盯仪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜜葱。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡全景,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出牵囤,到底是詐尸還是另有隱情爸黄,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布揭鳞,位于F島的核電站炕贵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏野崇。R本人自食惡果不足惜称开,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乓梨。 院中可真熱鬧鳖轰,春花似錦、人聲如沸扶镀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽臭觉。三九已至昆雀,卻和暖如春辱志,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狞膘。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工揩懒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人客冈。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓旭从,卻偏偏與公主長得像,于是被迫代替她去往敵國和親场仲。 傳聞我的和親對象是個殘疾皇子和悦,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 問答 1.如何判斷一個元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間鸽素,肉眼可視)。寫一個函數(shù) isVisi...
    鴻鵠飛天閱讀 218評論 0 1
  • 如何判斷一個元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間亦鳞,肉眼可視)馍忽。寫一個函數(shù) isVisible實現(xiàn)...
    coolheadedY閱讀 391評論 0 0
  • 問答 1.如何判斷一個元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間遭笋,肉眼可視)。寫一個函數(shù) isVisi...
    candy252324閱讀 149評論 0 0
  • 問答 1. 如何判斷一個元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)测暗。寫一個函數(shù) isVis...
    小木子2016閱讀 204評論 0 0
  • 回答: 1.何判斷一個元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間碗啄,肉眼可視)质和。寫一函數(shù) isVisib...
    ahong_吳閱讀 121評論 0 0