700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 原生js页面滚动延迟加载图片【javascript】

原生js页面滚动延迟加载图片【javascript】

时间:2019-08-18 13:12:10

相关推荐

原生js页面滚动延迟加载图片【javascript】

web前端|js教程

js,加载图片

web前端-js教程

本文实例为大家讲解了javascript瀑布流代码,即js页面滚动延迟加载图片,分享给大家供大家参考,具体代码如下

flash 聊天室 源码,ubuntu系统备份克隆,tomcat上下标变成问号,爬虫软件解释,php解析数字 漏洞,seo新手必看seo专员lzw

原生Js页面滚动延迟加载图片* { margin:0; padding:0}img.scrollLoading { border:1px solid #ccc; display:block; margin-top:10px;}

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(

图片 + 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");

08房产源码,vscode快速打印变量,ubuntu开机命令,tomcat修改post,调用sqlite 是否必须安装,大鹏新区蜈蚣爬虫防治中心,php 二维数组删除,武汉seo公司电话,女性门户网站模板,网页游戏网站源码交易,在线答题的网页模板lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。