码迷,mamicode.com
首页 > Web开发 > 详细

js瀑布流(定位法)

时间:2016-12-21 23:52:11      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:for   doctype   otto   one   cti   ati   add   length   utf-8   

1、首先,自己写好图片路径,引入jquery

 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
*{
padding: 0;
margin: 0;
}
ul{
position: relative;
width: 860px;
margin: 0 auto;
}
li{
width: 200px;
position: absolute;
list-style: none;
}

img{
width: 100%;
border-radius: 8px;
}

</style>
</head>
<body>
<ul>
<li><img src="img/1.jpg"/></li>
<li><img src="img/2.jpg"/></li>
<li><img src="img/3.jpg"/></li>
<li><img src="img/4.jpg"/></li>
<li><img src="img/5.jpg"/></li>
<li><img src="img/6.jpg"/></li>
<li><img src="img/7.jpg"/></li>
<li><img src="img/8.jpg"/></li>
<li><img src="img/9.jpg"/></li>
<li><img src="img/10.jpg"/></li>
<li><img src="img/11.jpg"/></li>
<li><img src="img/12.jpg"/></li>
<li><img src="img/13.jpg"/></li>
<li><img src="img/14.jpg"/></li>
<li><img src="img/15.jpg"/></li>
<li><img src="img/16.jpg"/></li>
<li><img src="img/17.jpg"/></li>
<li><img src="img/18.jpg"/></li>
<li><img src="img/19.jpg"/></li>
<li><img src="img/20.jpg"/></li>
<li><img src="img/21.jpg"/></li>
<li><img src="img/22.jpg"/></li>
<li><img src="img/23.jpg"/></li>
<li><img src="img/24.jpg"/></li>
</ul>
</body>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function(){

lazyLoad("ul","li",4,20,20).init();
/*
wrap:外层的dom
box:瀑布流的dom
clonum:列数
marginLeft:每列,间隔
marginBottom:每行的间隔
* */
function lazyLoad(wrap,box,clonum,marginLeft,marginBottom){

var posArr = [];
var boxList = $(wrap).find(box),
boxWidth = boxList.width();
console.log(boxWidth);
var fn = {};
fn.init = function(){
for(var i = 0; i <clonum; i++ ){
posArr.push({"top":0,"left":boxWidth*i + marginLeft*i});

}

fn.layout();
};


fn.layout = function(){
var min = 0,
max = 0;
boxList.each(function(index,ele){
min = fn.getHeight().minIndex;
$(ele).css({"top":posArr[min].top,"left":posArr[min].left});
posArr[min].top = posArr[min].top*1 + $(ele).height()*1 + marginBottom;
max = fn.getHeight().maxIndex;
$(wrap).css({"height":posArr[max].top});

});

};

fn.getHeight = function(){
var minHeight = posArr[0].top,
maxHeight = posArr[0].top,
minIndex = 0,
maxIndex = 0;
for(var i = 0; i < posArr.length; i++){
if(minHeight > posArr[i].top){
minHeight = posArr[i].top;
minIndex = i;
}
if(maxHeight < posArr[i].top){
maxHeight = posArr[i].top;
maxIndex = i;
}
}
return {"minIndex":minIndex,"maxIndex":maxIndex};
};

return fn;
}



});



</script>
</html>

 

js瀑布流(定位法)

标签:for   doctype   otto   one   cti   ati   add   length   utf-8   

原文地址:http://www.cnblogs.com/muamaker/p/6209242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!