懶加載

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

  function isVisible($node) {
      var height = $(window).height();
      var scollTop = $(window).scrollTop();
      var offSet = $node.offset().top;
      var nodeHeight = $node.height();
      if (height + scollTop > offSet && scollTop < offSet + nodeHeight) {
        return true;
      } else {
        return false;
    }

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

 $(window).on("scroll", function () {
   function load() {
      $(".ct img").each(function () {
        if (isVisible($(this))) {
         console.log("true");
        }
      })
    })

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

 $(window).on("scroll", function () {
   function load() {
      $(".ct img").not("loaded").each(function () {
        if (isVisible($(this))) {
         $(this).addClass("loaded");//當元素出現后添加類名,并在遍歷的時候排除有
                                     loaded的類名
         console.log("true");
        }
      })
    })

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

圖片懶加載,當用戶打開頁面時,如果將網頁中的圖片全部加載可能會造成網絡堵塞,利用懶加載,當用戶滑動到圖片元素出現時再加載來提高網站性能。原理就是把圖片的真正地址放在一個自定義的屬性中,然后為窗口滾動添加監聽事件,接著判斷一個元素是否在窗口范圍內出現,出現則把自定義屬性中的圖片地址放到自帶的src屬性中,加載圖片。

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

推薦閱讀更多精彩內容

  • 1.如何判斷一個元素是否出現在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個函數 isVisible...
    GarenWang閱讀 476評論 0 2
  • 如何判斷一個元素是否出現在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個函數 isVisible實現...
    _Dot912閱讀 1,699評論 10 8
  • 1、懶加載 1.什么是懶加載? 懶加載也就是延遲加載。當訪問一個頁面的時候,先把img元素或是其他元素的背景圖片路...
    xiaolizhenzhen閱讀 70,506評論 18 160
  • 1、如何判斷一個元素是否出現在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。 先理解兩個概念 元素頂部“露...
    zh_yang閱讀 369評論 0 1
  • 1.如何判斷一個元素是否出現在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個函數 isVisible...
    Rising_suns閱讀 314評論 0 0