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

javascript瀑布流式圖片懶加載實例

 更新時間:2020年06月28日 09:17:49   投稿:lijiao  
這篇文章主要為大家詳細介紹了javascript瀑布流式圖片懶加載實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

最近項目使用到了“懶加載”,現(xiàn)在更新一般,因為平時主要使移動端的開發(fā)所以庫文件使用的是zepto.js 。當然也可以和jQuery 通用。

代碼如下:

/**
 * Created by zhiqiang on 2015/10/14.
 * hpuhouzhiqiang@gmail.com
 * 圖片的懶加載
 **/
function loadImgLazy(node) {
 var lazyNode = $('[node-type=imglazy]', node),
 mobileHeight, lazyOffSetHeight, tempHeight, currentNodeTop, imgObject,
 imgDataSrc, localUrl;

 localUrl = location.href;
 // 獲取當前瀏覽器可視區(qū)域的高度
 mobileHeight = $(window).height();

 return function(co) {

 var conf = {
 'loadfirst': true,
 'loadimg': true
 };

 for (var item in conf) {
 if (item in co) {
 conf[item] = co[item];
 }
 }

 var that = {};
 var _this = {};
 /**
 * [replaceImgSrc 動態(tài)替換節(jié)點中的src]
 * @param {[type]} tempObject [description]
 * @return {[type]} [description]
 */
 _this.replaceImgSrc = function(tempObject) {
 var srcValue;

 $.each(tempObject, function(i, item) {
 imgObject = $(item).find('img[data-lazysrc]');
 imgObject.each(function(i) {
  imgDataSrc = $(this).attr('data-lazysrc');
  srcValue = $(this).attr('src');
  if (srcValue == '#') {
  if (imgDataSrc) {
  $(this).attr('src', imgDataSrc);
  $(this).removeAttr('data-lazysrc');
  }
  }
 });
 });
 };

 /**
 * 首屏判斷屏幕上是否出現(xiàn)imglazy節(jié)點,有的話就加載圖片
 * @param {[type]} i) {  currentNodeTop [description]
 * @return {[type]} [description]
 */
 _this.loadFirstScreen = function() {
 if (conf.loadfirst) {
 lazyNode.each(function(i) {
  currentNodeTop = $(this).offset().top;
  if (currentNodeTop < mobileHeight + 800) {
  _this.replaceImgSrc($(this));
  }
 });
 }
 };

 //當加載過首屏以后按照隊列加載圖片
 _this.loadImg = function() {
 if (conf.loadimg) {
 $(window).on('scroll', function() {
  var imgLazyList = $('[node-type=imglazy]', node);
  for (var i = 0; i < 5; i++) {
  _this.replaceImgSrc(imgLazyList.eq(i));
  }
 });
 }
 };

 that = {
 replaceImgSrc: _this.replaceImgSrc(),
 mobileHeight: mobileHeight,
 objIsEmpty: function(obj) {
 for (var item in obj) {
  return false;
 }
 return true;
 },
 destory: function() {
 if (_this) {
  $.each(_this, function(i, item) {
  if (item && item.destory) {
  item.destory();
  }
  });
  _this = null;
 }
 $(window).off('scroll');
 }
 };
 return that;
 };
}

希望本文對大家學習javascript圖片懶加載有所幫助。

相關文章

  • html中通過JS獲取JSON數(shù)據(jù)并加載的方法

    html中通過JS獲取JSON數(shù)據(jù)并加載的方法

    本篇內(nèi)容主要給大家講了如何通過javascript解析JSON并得到數(shù)據(jù)后添加到HTML中的方法,需要的朋友參考下。
    2017-11-11
  • 在Vue.js中使用Mock數(shù)據(jù)的詳細教程與技巧

    在Vue.js中使用Mock數(shù)據(jù)的詳細教程與技巧

    這篇文章主要介紹了在Vue.js項目中設置和使用Mock數(shù)據(jù)的方法,Mock數(shù)據(jù)在前端開發(fā)、單元測試和調(diào)試中非常有用,可以通過使用axios進行數(shù)據(jù)請求,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-12-12
  • Js實現(xiàn)京東無延遲菜單效果實例(demo)

    Js實現(xiàn)京東無延遲菜單效果實例(demo)

    本篇文章主要介紹了Js實現(xiàn)京東無延遲菜單效果實例(demo) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(三):鏈表

    JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(三):鏈表

    這篇文章主要介紹了JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(三):鏈表,本文分別講解了單鏈表與雙鏈表以及增加節(jié)和刪除節(jié)的代碼實例,需要的朋友可以參考下
    2015-06-06
  • webpack配置打包后圖片路徑出錯的解決

    webpack配置打包后圖片路徑出錯的解決

    本篇文章主要介紹了webpack配置打包后圖片路徑出錯的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Bootstrap表單Form全面解析

    Bootstrap表單Form全面解析

    在進行自己的后臺改版時,大體布局都使用了bootstrap,剩下的表單部分沒理由不去使用它,對于表單的美化和布局,bootstrap做的也是很不錯的。下文給大家介紹Bootstrap表單Form全面解析,感興趣的朋友一起看下吧
    2016-06-06
  • JSON.parse處理非標準Json數(shù)據(jù)出錯的解決

    JSON.parse處理非標準Json數(shù)據(jù)出錯的解決

    這篇文章主要介紹了JSON.parse處理非標準Json數(shù)據(jù)出錯的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • web性能優(yōu)化之javascript性能調(diào)優(yōu)

    web性能優(yōu)化之javascript性能調(diào)優(yōu)

    本文詳細介紹Web 開發(fā)中關于性能方面需要注意的一些小細節(jié),從 JavaScript 本身著手,介紹了 JavaScript 中需要避免的一些函數(shù)的使用和編程規(guī)則,比如 eval 的弊端,function scope chain 以及 String 的用法等等
    2012-12-12
  • JavaScript取得gridview中獲取checkbox選中的值

    JavaScript取得gridview中獲取checkbox選中的值

    這篇文章主要介紹了 js取得gridview中獲取checkbox選中的值,本文給大家分享兩段代碼片段,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-07-07
  • 原生JS中slice()方法和splice()區(qū)別

    原生JS中slice()方法和splice()區(qū)別

    slice()方法和splice()方法都是原生js中對數(shù)組操作的方法。那么他兩種有什么區(qū)別呢?今天通過本文教程給大家簡單介紹下,需要的朋友可以參考下
    2017-03-03

最新評論

治多县| 涟水县| 青浦区| 宁化县| 浏阳市| 南平市| 花莲县| 井研县| 文安县| 桑植县| 大埔区| 上栗县| 渑池县| 肇庆市| 盐津县| 呼和浩特市| 仙桃市| 山丹县| 廊坊市| 乾安县| 通河县| 兴业县| 方城县| 余江县| 竹山县| 儋州市| 扶绥县| 平果县| 利辛县| 五常市| 兰州市| 府谷县| 什邡市| 上杭县| 遂昌县| 土默特右旗| 凤城市| 札达县| 贺州市| 大同县| 商丘市|