<html><head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="utf-8">
<title>图片懒加载-简单</title>
<style type="text/css">
ul,li{
list-style:none;
}
.container{
max-width: 800px;
margin: 0 auto;
}
.container:after{
content: '';
display: block;
clear: both;
}
.container li{
float: left;
margin: 10px 10px;
}
.container li img{
width: 380px;
height: 380px;
}
p{
float: left;
}
</style>
</head>
<body>
<ul class="container">
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"><img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/10.jpg"></a></li>
<li><a href="#"><img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/11.jpg"></a></li>
<li><a href="#"><img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/12.jpg"></a></li>
<li><a href="#"><img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/13.jpg"></a></li>
<li><a href="#"><img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/14.jpg"></a></li>
<li><a href="#"><img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/15.jpg"></a></li>
<li><a href="#"><img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/16.jpg"></a></li><li><a href="#">
<img src="" data-src="http://cdn.jirengu.com/book.jirengu.com/img/17.jpg"></a></li>
<!-- <p id="hello">hello</p>
<p id="world">world</p> -->
</ul>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
<script type="text/javascript">
function Exposure($target,callback){
this.$target = $target;
this.callback = callback;
this.bind();
this.check();
}
Exposure.prototype.bind = function(){
var _this = this;
$(window).on('scroll',function(){
_this.check();
})
};
Exposure.prototype.check = function(){
if(this.isShow(this.$target)){
this.callback(this.$target);
}
};
Exposure.prototype.isShow = function(){
var windowHeight = $(window).height(),
scrollTop = $(window).scrollTop(),
offsetTop = this.$target.offset().top,
nodeHeight = this.$target.height();
if(windowHeight + scrollTop > offsetTop && scrollTop < nodeHeight + offsetTop){
return true;
}else {
return false;
}
};
var Lazy = (function(){
return {
init:function($targets,callback){
$targets.each(function(idx,target){
new Exposure($(target),callback);
})
},
one:function($targets,callback){
}
}
})();
Lazy.init($('.container img'),function($node){
showImg($node);
});
function showImg($img){
var imgUrl = $img.attr('data-src');
$img.attr('src',imgUrl);
}
</script>
</body></html>
网友评论