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

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

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

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

1、html代碼

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 簡述凍結(jié)JS對象方法技術(shù)

    簡述凍結(jié)JS對象方法技術(shù)

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

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

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

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

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

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

    這篇文章主要為大家詳細(xì)介紹了js select實(shí)現(xiàn)省市區(qū)聯(lián)動選擇效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • javascript內(nèi)嵌式與外鏈?zhǔn)降幕緫?yīng)用方式

    javascript內(nèi)嵌式與外鏈?zhǔn)降幕緫?yīng)用方式

    這篇文章主要介紹了javascript內(nèi)嵌式與外鏈?zhǔn)降幕緫?yīng)用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • JavaScript設(shè)計(jì)模式手寫示例講解

    JavaScript設(shè)計(jì)模式手寫示例講解

    這篇文章主要介紹了JavaScript設(shè)計(jì)模式手寫示例,設(shè)計(jì)模式(Design pattern) 是解決軟件開發(fā)某些特定問題而提出的一些解決方案也可以理解成解決問題的一些思路。通過設(shè)計(jì)模式可以幫助我們增強(qiáng)代碼的可重用性、可擴(kuò)充性、 可維護(hù)性、靈活性好
    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()的使用方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 如何使用 Intl.RelativeTimeFormat 在 JavaScript 中進(jìn)行相對時(shí)間格式化

    如何使用 Intl.RelativeTimeFormat 在 JavaScript&nbs

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

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

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

    Javascript隨機(jī)標(biāo)簽云代碼實(shí)例

    這篇文章主要分享一個(gè)Javascript隨機(jī)標(biāo)簽云代碼實(shí)例,需要的朋友可以參考下。
    2016-06-06

最新評論

达州市| 盐池县| 孝义市| 清丰县| 墨江| 监利县| 襄樊市| 光山县| 白银市| 海盐县| 依安县| 新余市| 资兴市| 建宁县| 承德县| 林口县| 手游| 鹰潭市| 望都县| 会泽县| 宜兰县| 娱乐| 灵石县| 依兰县| 安阳县| 泰宁县| 子洲县| 定日县| 长泰县| 华坪县| 二连浩特市| 延津县| 兴海县| 道孚县| 阿拉善盟| 徐水县| 仁布县| 茌平县| 乌审旗| 大悟县| 乌兰浩特市|