進(jìn)階16 懶加載

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

 function isVisible($node){
    var windowHeight = $(window).height()
    var scrollTop = $(window).scrollTop()
    var offsetTop = $node.offset().top

    if(offsetTop < windowHeight + scrollTop && offsetTop > scrollTop){
        return true
  }
    return false
 }

2. 當(dāng)窗口滾動(dòng)時(shí),判斷一個(gè)元素是不是出現(xiàn)在窗口可視范圍。每次出現(xiàn)都在控制臺(tái)打印 true 。用代碼實(shí)現(xiàn)

  $(window).on("scroll",function(){
    $node = $(".node")
    var windowHeight = $(window).height()
    var scrollTop = $(window).scrollTop()
    var offsetTop = $node.offset().top

    if(offsetTop < windowHeight + scrollTop && offsetTop > scrollTop){
        console.log("true")
        return true
    }
    return false
  })

}

3. 當(dāng)窗口滾動(dòng)時(shí),判斷一個(gè)元素是不是出現(xiàn)在窗口可視范圍。在元素第一次出現(xiàn)時(shí)在控制臺(tái)打印 true,以后再次出現(xiàn)不做任何處理。用代碼實(shí)現(xiàn)

    var flag = 0;
    $(window).on("scroll",function(){
      $node = $(".node")
      var windowHeight = $(window).height()
      var scrollTop = $(window).scrollTop()
      var offsetTop = $node.offset().top
    
      if(flag === 0){
      if(offsetTop < windowHeight + scrollTop && offsetTop  > scrollTop){
            console.log("true")
          flag = 1
             return true
      }
    return false
  }      
})

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

懶加載也叫延遲加載,舉個(gè)栗子比如圖片的懶加載:先在img src中放一張占位符圖片,而真實(shí)的圖片地址存放在相對(duì)應(yīng)一個(gè)屬性 data-img(后綴img可以自定義)中,這樣的話頁(yè)面加載的時(shí)候只加載src地址,不會(huì)對(duì)屬性的圖片真正地址加載,滾動(dòng)時(shí)候判斷待加載的資源相對(duì)于瀏覽器頂端的距離,可視區(qū)域相對(duì)于瀏覽器頂端的距離如果為true的話 則把相對(duì)應(yīng)的data-img值賦值給src否則不加載。

5. 實(shí)現(xiàn)視頻中的圖片懶加載效果

代碼效果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 題目1:如何判斷一個(gè)元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個(gè)函數(shù) isVisib...
    饑人谷_桶飯閱讀 309評(píng)論 0 1
  • 1:如何判斷一個(gè)元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個(gè)函數(shù) isVisible...
    曉風(fēng)殘?jiān)?994閱讀 324評(píng)論 0 0
  • 1.如何判斷一個(gè)元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個(gè)函數(shù) isVisible...
    24_Magic閱讀 249評(píng)論 0 0
  • 題目1:如何判斷一個(gè)元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個(gè)函數(shù) isVisib...
    Maaaax閱讀 317評(píng)論 0 0
  • 目前本地存儲(chǔ)方式大致有:Sqlite,Coredata,NSUserdefaults。但他們都是在刪除APP后就會(huì)...
    紀(jì)敘閱讀 815評(píng)論 0 1

友情鏈接更多精彩內(nèi)容