昨天练习写了这个小demo,个人觉得通过设置定位元素left和top的值,来实现换行的功能,这种方法很巧妙~
另外,如下代码中的随机颜色的获取,还请各位前辈多多指教:需要改进的地方;或者有没有更好的方法。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{text-align: center;}
li{height:50px;width:50px;background:red;position:absolute;list-style:none;text-align: center;color:white;line-height:50px;}
</style>
<script type="text/javascript">
window.onload=function(){
var text1=document.getElementById("texta");
var btn1=document.getElementById("btn");
var ul1=document.getElementById("ul");
btn1.onclick=function(){
for(var i=0;i<parseInt(text1.value);i++){ var li1=document.createElement("li");
li1.style.left=li1.offsetLeft+i%20*64+"px";
li1.style.top=li1.offsetTop+parseInt(i/20)*64+64+"px"; // 实现换行
li1.innerHTML=i+1;
li1.style.background=random_load();
ul1.appendChild(li1); }
}
}
function random_load(){
var R=hao(0,255).toString(16);
var G=hao(0,255).toString(16);
var B=hao(0,255).toString(16);
return "#"+aaa(R,G,B);
}
function hao(min,max){
return parseInt(Math.random()*(max-min+1)+min)
}
function aaa(r,g,b){
r=r.length==1?"0"+r:r;
g=g.length==1?"0"+g:g;
b=b.length==1?"0"+b:b; //随机会获取到5位的十六进制数,不能作为颜色值,所以用这个方法解决,还请前辈多多指点 ^-^!
return r+g+b;
}
</script>
</head>
<body>
<input type="text" name="texta" id="texta" value="" />
<input type="button" name="btn" id="btn" value="生成DIV" />
<ul id="ul">
</ul>
</body>
</html>