jquery懶加載、回到頂部

問答

1.如何判斷一個元素是否出現在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個函數 isVisible實現

function isVisible($ele){
    var winH=$(window).height(),
    scrollTop=$(window).scrollTop(),
    offsetTop=$ele.offset().top,
    $eleH=$ele.innerHeight();
     if((winH+scrollTop>offsetTop)&&(scrollTop<offsetTop+$eleH)){
        return true;
    }else{
        return false;
     }
}

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

//直接調用上面的isVisible()函數
$(window).on("scroll",function(){
    if(isVisible($(".mid"))){
        console.log(true);
    }
})

demo

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

var isShow=false;
$(window).on("scroll",function(){
    if(isShow){
        return;
    }
    if(isVisible($(".mid"))){
        isShow=true;
        console.log(true);
    }
})

demo

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

頁面中所有的圖片的src中存放的都是同一張圖片(例如一張白圖),這張白圖只需要加載一次,圖片真正的地址存儲在自定義屬性data-src里面。然后判斷某個元素是否出現在窗口的可視區域,如果出現在可視區域,則修改元素的src屬性,使其變成圖片真正的地址,從而讓圖片顯示出來。
使用懶加載的方式,可避免出現一次性向服務器發送大量請求,導致服務器無法及時響應、用戶等待過長時間、頁面崩潰等問題的發生。

代碼題

1.回到頂部效果
2.圖片懶加載效果
3.無限滾動效果本地xampp測試通過

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容