欢迎来到亿搜云建站平台,全网营销云系统加盟中心!

海量企业网站模板 · 任您选择

美出特色,精出品质,一切为了企业更好的营销

隐藏侧栏
Beta
转载

js延时加载特效代码

       延迟加载     2016-02-16     eycms     244     0    

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>延时加载</title>

<style type="text/css">

body,div,ul,li{margin:0;padding:0;}

#box{width:770px;margin:0 auto;padding:10px 0 0 10px;background:#f00;overflow:hidden;zoom:1;}

#box li{float:left;width:375px;height:225px;color:#fff;padding:10px 0;display:inline;text-align:center;margin:0 10px 10px 0;background:#000 url(img/lazy/loading.gif) 50% 50% no-repeat;}

#box li img.loaded{width:353px;height:225px;vertical-align:middle;}

</style>

</head>

<script type="text/javascript">

var fgm = {

on: function(element, type, handler) {

return element.addEventListener ? element.addEventListener(type, handler, false) : element.attachEvent("on" + type, handler)

},

bind: function(object, handler) {

return function() {

return handler.apply(object, arguments)

}

},

pageX: function(element) {

return element.offsetLeft + (element.offsetParent ? arguments.callee(element.offsetParent) : 0)

},

pageY: function(element) {

return element.offsetTop + (element.offsetParent ? arguments.callee(element.offsetParent) : 0)

},

hasClass: function(element, className) {

return new RegExp("(^|\s)" + className + "(\s|$)").test(element.className)

},

attr: function(element, attr, value) {

if(arguments.length == 2) {

return element.attributes[attr] ? element.attributes[attr].nodeValue : undefined

}

else if(arguments.length == 3) {

element.setAttribute(attr, value)

}

}

};

//延时加载

function LazyLoad(obj) {

this.lazy = typeof obj === "string" ? document.getElementById(obj) : obj;

this.aImg = this.lazy.getElementsByTagName("img");

this.fnLoad = fgm.bind(this, this.load);

this.load();

fgm.on(window, "scroll", this.fnLoad);

fgm.on(window, "resize", this.fnLoad);

}

LazyLoad.prototype = {

load: function() {

var iScrollTop = document.documentElement.scrollTop || document.body.scrollTop;

var iClientHeight = document.documentElement.clientHeight + iScrollTop;

var i = 0;

var aParent = [];

var oParent = null;

var iTop = 0;

var iBottom = 0;

var aNotLoaded = this.loaded(0);

if(this.loaded(1).length != this.aImg.length) {

for(i = 0; i < aNotLoaded.length; i++) {

oParent = aNotLoaded[i].parentElement || aNotLoaded[i].parentNode;

iTop = fgm.pageY(oParent);

iBottom = iTop + oParent.offsetHeight;

if((iTop > iScrollTop && iTop < iClientHeight) || (iBottom > iScrollTop && iBottom < iClientHeight)) {

aNotLoaded[i].src = fgm.attr(aNotLoaded[i], "data-img") || aNotLoaded[i].src;

aNotLoaded[i].className = "loaded";

}

}

}

},

loaded: function(status) {

var array = [];

var i = 0;

for(i = 0; i < this.aImg.length; i++)

eval("fgm.hasClass(this.aImg[i], "loaded")" + (!!status ? "&&" : "||") + "array.push(this.aImg[i])");

return array

}

};

//应用

fgm.on(window, "load", function () {new LazyLoad("box")});

</script>

<body>

<ul id="box">

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/1.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/2.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/3.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/4.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/5.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/6.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/7.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/8.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/9.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/10.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/11.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/12.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/13.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/14.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/15.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/16.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/17.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/18.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/19.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/20.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/21.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/22.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/23.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/24.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/25.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/26.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/27.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/28.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/29.jpg" /></li>

    <li><img  src="img/lazy/none.gif" data-img="img/lazy/30.jpg" /></li>

</ul>

</body>

</html>

</td>

 </tr>

</table>


--结束END--

本文链接: http://eycms.cn/resources/loading/1138.html (转载时请注明来源链接)

 
本文标签: 全部

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“亿搜云”
"亿搜云平台前端开发教学"
每日干货技术分享
 

×

成为 亿搜云平台 代理商!

关注

微信
关注

微信扫一扫
获取最新优惠信息

亿搜云平台公众号

客服

联系
客服

很高兴为您服务
尊敬的用户,欢迎您咨询,我们为新用户准备了优惠好礼。 咨询客服

联系客服:

在线QQ: 40819446

客服电话: 15250286283

售前咨询 售后服务
在线交谈 智能小云

工作时间:

周一至周五: 09:00 - 17:00

WAP

手机
访问

移动端访问
手机上也能选模板

亿搜云平台手机端