国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

原生js頁面滾動延遲加載圖片

2019-11-20 10:58:28
字體:
來源:轉載
供稿:網友

本文實例為大家講解了javascript瀑布流代碼,即js頁面滾動延遲加載圖片,分享給大家供大家參考,具體代碼如下

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>原生Js頁面滾動延遲加載圖片</title><style type="text/css">* { margin:0; padding:0}img.scrollLoading { border:1px solid #ccc; display:block; margin-top:10px;}</style></head><body><div id="content"></div></body></html><script type="text/javascript"> var _CalF = {  $:function(object){//選擇器  if(object === undefined ) return;  var getArr = function(name,tagName,attr){  var tagName = tagName || '*',  eles = document.getElementsByTagName(tagName),  clas = (typeof document.body.style.maxHeight === "undefined") ? "className" : "class";//ie6  attr = attr || clas,  Arr = [];  for(var i=0;i<eles.length;i++){  if(eles[i].getAttribute(attr)==name){  Arr.push(eles[i]);  }  }  return Arr;  };  if(object.indexOf('#') === 0){ //#id  return document.getElementById(object.substring(1));  } else if(object.indexOf('.') === 0){ //.class  return getArr(object.substring(1));  } else if(object.match(/=/g)){ //attr=name return getArr(object.substring(object.search(/=/g)+1),null,object.substring(0,object.search(/=/g)));  } else if(object.match(/./g)){ //tagName.className  return getArr(object.split('.')[1],object.split('.')[0]);  }  },  getPosition : function(obj) { //獲取元素在頁面里的位置和寬高  var top = 0,  left = 0,  width = obj.offsetWidth,  height = obj.offsetHeight;  while(obj.offsetParent){  top += obj.offsetTop;  left += obj.offsetLeft;  obj = obj.offsetParent;  }  return {"top":top,"left":left,"width":width,"height":height};  } };  //添加圖片list var _temp = []; for (var i = 1; i < 21; i ++) {  _temp.push('<img class="scrollLoading" data-src="http://images.cnblogs.com/cnblogs_com/Darren_code/311197/o_' + i + '.jpg" src="http://images.cnitblog.com/blog/150659/201306/23160223-c81dd9aa9a2a4071a47b0ced2c9118bc.gif" /><br />圖片' + i); } _CalF.$("#content").innerHTML = _temp.join("");  function scrollLoad(){  this.init.apply(this, arguments); } scrollLoad.prototype ={  init : function(className){  var className = "img."+className,  imgs = _CalF.$(className),  that = this;  this.imgs = imgs;  that.loadImg();  window.onscroll = function(){  that.time = setTimeout(function(){  that.loadImg();  },400);  } }, loadImg : function(){ var imgs = this.imgs.reverse(), //獲取數組翻轉 len = imgs.length; if(imgs.length===0){  clearTimeout(this.time);  return; } for(var j=len-1;j>=0;j--){ //遞減  var img = imgs[j],  imgTop = _CalF.getPosition(img).top,  imgSrc = img.getAttribute("data-src"),  offsetPage = window.pageYOffset ? window.pageYOffset : window.document.documentElement.scrollTop,//滾動條的top值  bodyHeight = document.documentElement.clientHeight; //body的高度  if((offsetPage+bodyHeight/2) > (imgTop-bodyHeight/2)){  img.src = imgSrc;  this.imgs.splice(j,1);  }  }  } }  var img1 = new scrollLoad("scrollLoading"); </script>

希望本文所述對大家學習javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普兰店市| 连平县| 枣庄市| 石柱| 茂名市| 祁门县| 肇州县| 塔河县| 施秉县| 临高县| 临朐县| 烟台市| 沈阳市| 阿巴嘎旗| 临城县| 宁陕县| 台安县| 商河县| 井陉县| 仪陇县| 涞水县| 磴口县| 招远市| 隆安县| 永川市| 德安县| 新兴县| 济阳县| 郓城县| 五华县| 云龙县| 临澧县| 蕲春县| 高要市| 绥滨县| 蓬溪县| 商洛市| 蓬溪县| 岢岚县| 新乡县| 虹口区|