js-瀑布流代码

1.目录结构

2f06ec5d5b3c57639e82cd03cdec2f1a93d.jpg

2.index.html 代码

<html>

<head>

<style type="text/css">

.box{

position: relative;

}

.item {

position:absolute;

width:200px;

margin: 5px;

border:1px solid red;

transition: all 1s;//css 动画代码,当窗口改变的时候

}

.item img{

width: 100%;

height: auto;

}

</style>

</head>

<body>

<div class="box">

<div class="item"><img src="./images/01.png"/></div>

<div class="item"><img src="./images/02.png"/></div>

<div class="item"><img src="./images/03.png"/></div>

<div class="item"><img src="./images/04.png"/></div>

<div class="item"><img src="./images/05.png"/></div>

<div class="item"><img src="./images/06.png"/></div>

<div class="item"><img src="./images/07.png"/></div>

<div class="item"><img src="./images/08.png"/></div>

<div class="item"><img src="./images/09.jpg"/></div>

<div class="item"><img src="./images/10.jpg"/></div>

<div class="item"><img src="./images/11.jpg"/></div>

<div class="item"><img src="./images/12.jpg"/></div>

<div class="item"><img src="./images/13.png"/></div>

<div class="item"><img src="./images/14.png"/></div>

<div class="item"><img src="./images/15.png"/></div>

<div class="item"><img src="./images/16.png"/></div>

<div class="item"><img src="./images/logo.png"/></div>

</div>

</body>

<script src="js/jquery.min.js"></script>

<script src="js/index.js">

</script>

</html>

3.index.js 代码

//每一行添加在高度最低的下面

//绝对定位 left:图片宽度*索引 top:最小高度

//获取可视区的宽度

$(function(){

init();

//改变窗口重新加载

$(window).on('resize',function(){

init();

})

function init(){

//每行展示的列数

//var boxWidth = $('.item').width();不包含 padding/margin/border

//outerWidth(true),

var boxWidth = $('.item').outerWidth(true);//每一个的宽

var cols = parseInt($(window).width()/boxWidth); //列数

$('.box img').length;

var heightArr =[];//创建一个存放高度的数组

for(var i=0;i<cols;i++){

heightArr.push(0);

}

//遍历每一个图片

$(".item").each(function(index,item){

//设置图片的样式

var idx = 0;

var minBoxHeight =heightArr[0];

//取到最小高度

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

if(heightArr[i]<minBoxHeight){

minBoxHeight = heightArr[i];

idx = i;

}

}

$(item).css({

left:boxWidth*idx,//每个图片对应的宽带

top:minBoxHeight //最小高度

});

heightArr[idx] += $(item).outerHeight(true);

})

}

})

4.效果

dcf2b237d0822e3a0eabbc55bbd0794b8c5.jpg

转载于:https://my.oschina.net/huangguangsheng/blog/2209414

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值