最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

圖片懶加載imgLazyLoading.js使用詳解

 更新時間:2020年09月15日 17:11:01   作者:吳維煒  
這篇文章主要為大家詳細介紹了圖片懶加載imgLazyLoading.js的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文主要介紹web前端使用圖片懶加載imgLazyLoading ,供大家參考,具體內容如下

1、html代碼

//懶加載對象目標代碼
<img originalSrc="__PUBLIC__/images/home/icon_pingtuan.png">
//引用本地js
<script src="__PUBLIC__/js/imgLazyLoading.min.js"></script>
<script src="__PUBLIC__/js/imgLazyLoading.js"></script>

2、js代碼

imgLazyLoading.min.js

jQuery.fn.extend({
 delayLoading: function (a) {
  function g(d) {
   var b, c;
   if (a.container === undefined || a.container === window) {
    b = $(window).scrollTop();
    c = $(window).height() + $(window).scrollTop()
   } else {
    b = $(a.container).offset().top;
    c = $(a.container).offset().top + $(a.container).height()
   }
   return d.offset().top + d.height() + a.beforehand >= b && c >= d.offset().top - a.beforehand
  }

  function h(d) {
   var b, c;
   if (a.container === undefined || a.container === window) {
    b = $(window).scrollLeft();
    c = $(window).width() + $(window).scrollLeft()
   } else {
    b = $(a.container).offset().left;
    c = $(a.container).offset().left + $(a.container).width()
   }
   return d.offset().left + d.width() + a.beforehand >= b && c >= d.offset().left - a.beforehand
  }

  function f() {
   e.filter("img[" + a.imgSrcAttr + "]").each(function (d, b) {
    if ($(b).attr(a.imgSrcAttr) !== undefined && $(b).attr(a.imgSrcAttr) !== null && $(b).attr(a.imgSrcAttr) !== "" && g($(b)) && h($(b))) {
     var c = new Image;
     c.onload = function () {
      $(b).attr("src", c.src);
      a.duration !== 0 && $(b).hide().fadeIn(a.duration);
      $(b).removeAttr(a.imgSrcAttr);
      a.success($(b))
     };
     c.onerror = function () {
      $(b).attr("src",
       a.errorImg);
      $(b).removeAttr(a.imgSrcAttr);
      a.error($(b))
     };
     c.src = $(b).attr(a.imgSrcAttr)
    }
   })
  }

  a = jQuery.extend({
   defaultImg: "",
   errorImg: "",
   imgSrcAttr: "originalSrc",
   beforehand: 0,
   event: "scroll",
   duration: "normal",
   container: window,
   success: function () {
   },
   error: function () {
   }
  }, a || {});
  if (a.errorImg === undefined || a.errorImg === null || a.errorImg === "")a.errorImg = a.defaultImg;
  var e = $(this);
  if (e.attr("src") === undefined || e.attr("src") === null || e.attr("src") === "")e.attr("src", a.defaultImg);
  f();
  $(a.container).bind(a.event, function () {
   f()
  })
 }
});

imgLazyLoading.js

$(function () {
 $("img").delayLoading({
  //defaultImg: "__PUBLIC__/images/img/loading.gif",   // 預加載前顯示的圖片
  errorImg: "",      // 讀取圖片錯誤時替換圖片(默認:與defaultImg一樣)
  imgSrcAttr: "originalSrc",   // 記錄圖片路徑的屬性(默認:originalSrc,頁面img的src屬性也要替換為originalSrc)
  beforehand: 0,      // 預先提前多少像素加載圖片(默認:0)
  event: "scroll",      // 觸發(fā)加載圖片事件(默認:scroll)
  duration: "normal",     // 三種預定淡出(入)速度之一的字符串("slow", "normal", or "fast")或表示動畫時長的毫秒數(shù)值(如:1000),默認:"normal"
  container: window,     // 對象加載的位置容器(默認:window)
  success: function (imgObj) { },  // 加載圖片成功后的回調函數(shù)(默認:不執(zhí)行任何操作)
  error: function (imgObj) { }   // 加載圖片失敗后的回調函數(shù)(默認:不執(zhí)行任何操作)
 });
});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 簡述凍結JS對象方法技術

    簡述凍結JS對象方法技術

    本文主要介紹了凍結JS對象方法技術,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • js左右彈性滾動對聯(lián)廣告代碼分享

    js左右彈性滾動對聯(lián)廣告代碼分享

    這個對聯(lián)廣告與其它的有所區(qū)別,這個是頁面加載時先沒看到廣告,然后從左邊快速飛進來的兩個對聯(lián)廣告哦,下面我們一起來看看對聯(lián)廣告效果代碼
    2014-02-02
  • 淺析JS中NEW的實現(xiàn)原理及重寫

    淺析JS中NEW的實現(xiàn)原理及重寫

    本文通過實例代碼給大家介紹了JS中NEW的實現(xiàn)原理及重寫,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-02-02
  • js select實現(xiàn)省市區(qū)聯(lián)動選擇

    js select實現(xiàn)省市區(qū)聯(lián)動選擇

    這篇文章主要為大家詳細介紹了js select實現(xiàn)省市區(qū)聯(lián)動選擇效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • javascript內嵌式與外鏈式的基本應用方式

    javascript內嵌式與外鏈式的基本應用方式

    這篇文章主要介紹了javascript內嵌式與外鏈式的基本應用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • JavaScript設計模式手寫示例講解

    JavaScript設計模式手寫示例講解

    這篇文章主要介紹了JavaScript設計模式手寫示例,設計模式(Design pattern) 是解決軟件開發(fā)某些特定問題而提出的一些解決方案也可以理解成解決問題的一些思路。通過設計模式可以幫助我們增強代碼的可重用性、可擴充性、 可維護性、靈活性好
    2022-12-12
  • JS Array創(chuàng)建及concat()split()slice()的使用方法

    JS Array創(chuàng)建及concat()split()slice()的使用方法

    下面小編就為大家?guī)硪黄狫S Array創(chuàng)建及concat()split()slice()的使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 如何使用 Intl.RelativeTimeFormat 在 JavaScript 中進行相對時間格式化

    如何使用 Intl.RelativeTimeFormat 在 JavaScript&nbs

    Intl.RelativeTimeFormat是JavaScript提供的一個國際化API,用于格式化相對時間,如"3天前"或"2年后",支持多種語言和配置選項,適用于社交媒體時間戳和事件提醒等場景,它簡化了國際化的相對時間顯示,使開發(fā)者能夠根據(jù)用戶的語言和區(qū)域設置輕松實現(xiàn)時間格式化
    2024-09-09
  • JavaScript框架是什么?怎樣才能叫做框架?

    JavaScript框架是什么?怎樣才能叫做框架?

    這篇文章主要介紹了JavaScript框架是什么?怎樣才能叫做框架?,本文講解了什么是 JavaScript 框架、JavaScript 框架的典型特性等內容,需要的朋友可以參考下
    2015-07-07
  • Javascript隨機標簽云代碼實例

    Javascript隨機標簽云代碼實例

    這篇文章主要分享一個Javascript隨機標簽云代碼實例,需要的朋友可以參考下。
    2016-06-06

最新評論

济宁市| 屯留县| 邢台县| 望城县| 阳江市| 拉萨市| 连城县| 宜城市| 镇赉县| 栾川县| 太仆寺旗| 五常市| 佛学| 乌拉特前旗| 客服| 大渡口区| 石渠县| 分宜县| 阜宁县| 和田县| 台州市| 西盟| 泰安市| 务川| 泰州市| 博乐市| 黄浦区| 武穴市| 介休市| 内乡县| 宣汉县| 区。| 漳平市| 准格尔旗| 福清市| 贺兰县| 巴林左旗| 武汉市| 甘孜县| 富川| 新晃|