瀑布流简单版式.

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

*{

margin: 0;

padding: 0;

}

#u{

list-style: none;

margin: 0 auto;

position: relative;

top: 0;

left: 0;

}

#u>li{

position: absolute;

font-size: 50px;

background-color: black;

width: 200px;

border: 1px solid white;

color: white;

}

</style>

</head>

<body>

<ul id="u">

 

</ul>

<script type="text/javascript">

function randH(min,max){

return Math.floor(Math.random() * (max - min + 1) + min);

};

 

var oU = document.getElementById("u");

// 根据自己的documentElement.clientWidth 计算出你有多少列

var cols = parseInt(document.documentElement.clientWidth / 200);

 

// 初始化列高数组

var arrH = [];

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

arrH[i] = 0;

}

 

// 用for循环生成20个小块

for (var n = 0;n < 20; n++) {

var li = document.createElement("li");

li.innerHTML = n;

 

li.style.height = randH(100,300) + "px";

 

// 求最短列  冒泡比法

var minH = arrH[0];

var index1 = 0;

 

for (var j = 0; j < arrH.length;j++) {

if (minH > arrH[j]) {

minH = arrH[j];

index1 = j;

}

}

// 定位li 

// 定位li 的left

li.style.left = index1 * 200 + "px";

li.style.top = arrH[index1] + "px";

alert(index1);

oU.appendChild(li);

 

// 更新最短列高度数组

arrH[index1] += li.offsetHeight;

alert(arrH[index1]);

};

</script>

</body>

</html>

转载于:https://www.cnblogs.com/haotian-dada666/p/5643971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值