这样行么,刚做的,呵呵(IE6通过)
<div id=divA>Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
<div id=divC>Cccccccccccccccccccc</div>
<div id=divB>Bbbbbbbbbbbbbbb</div>
<div id=divE>Eeeeeeeeeee</div>
<div id=divD>Ddddddd</div>
<script>
/******(qiushuiwuhen 2002-5-23)*******/
var objs=document.all.tags("div"),arr=[];
var startX=0,startY=40,maxX=400,stepY=20;
for(i=0;i<objs.length;i++)arr[i]=objs[i].id;
arr.sort();
for(i=0;i<arr.length;i++)
with(document.all(arr[i])){
style.position="absolute"
style.pixelLeft=startX;
style.pixelTop=startY;
startX+=offsetWidth;
if(startX>maxX){startX=0;startY+=stepY}
}
</script>
<div id=divA>Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
<div id=divC>Cccccccccccccccccccc</div>
<div id=divB>Bbbbbbbbbbbbbbb</div>
<div id=divE>Eeeeeeeeeee</div>
<div id=divD>Ddddddd</div>
<script>
/******(qiushuiwuhen 2002-5-23)*******/
var objs=document.all.tags("div"),arr=[];
var startX=0,startY=40,maxX=400,stepY=20;
for(i=0;i<objs.length;i++)arr[i]=objs[i].id;
arr.sort();
for(i=0;i<arr.length;i++)
with(document.all(arr[i])){
style.position="absolute"
style.pixelLeft=startX;
style.pixelTop=startY;
startX+=offsetWidth;
if(startX>maxX){startX=0;startY+=stepY}
}
</script>
<head>
</head>
<body>
<button onclick="clkName()">name</button>
<button onclick="clkType()">type</button>
<div name=a1 type=a4 style="background-color:#aaccee">name:a1-type:a4</div>
<div name=a2 type=a3 style="background-color:#aaddee">name:a2-type:a3</div>
<div name=a3 type=a2 style="background-color:#bbccee">name:a3-type:a2</div>
<div name=a4 type=a1 style="background-color:#aaffaa">name:a4-type:a1</div>
</body>
</html><script language="javascript">
function clkName(){
var divArr = new Array()
var i,j,obj
for(i=0;i<document.body.children.length;i++){
if(document.body.children[i].tagName == "DIV"){
divArr[divArr.length] = document.body.children[i]
}
}
for(i=0;i<divArr.length;i++){
for(j=i;j<divArr.length;j++){
if(divArr[i].name<divArr[j].name){
obj = divArr[i]
divArr[i] = divArr[j]
divArr[j]=obj
}
}
}
for(i=0;i<divArr.length;i++){
document.body.appendChild(divArr[i])
}
}
function clkType(){
var divArr = new Array()
var i,j,obj
for(i=0;i<document.body.children.length;i++){
if(document.body.children[i].tagName == "DIV"){
divArr[divArr.length] = document.body.children[i]
}
}
for(i=0;i<divArr.length;i++){
for(j=i;j<divArr.length;j++){
if(divArr[i].type<divArr[j].type){
obj = divArr[i]
divArr[i] = divArr[j]
divArr[j]=obj
}
}
}
for(i=0;i<divArr.length;i++){
document.body.appendChild(divArr[i])
}
}
</script>
to qiushuiwuhen(秋水无恨) :你的那段程序,怎么还没有到页面的边界就已经折行了?
to rocsnake(dp):呵呵...我一定会给分的。如果我将div打乱顺序,也就是说可以放在页面的任何部分,还能实现我说的效果吗
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0 style="word-break:break-all">
<tr><td>
<div>
斯大林附加赛对立法;联赛看东方所对立法;记阿瑟琳;对方可见;劳动服金卡所;两顿开房间科;拉萨地方军;萨迪克福建阿瑟离开;接的发送;对立法进口撒;对立法将阿瑟;封口机萨迪克立法局;
</div>
</td></tr>
</TABLE>
<div><table><tr><td>
<table cellSpacing="0" cellPadding="0" border="0">
<tr height="25">
<td class=class1 width="220" colSpan="3" height="25" align="center">
<font class=classfont>DIV1</font></td>
</tr>
<tr>
<td class=class1 width="220" colSpan="3" height="1"></td>
</tr>
<tr>
<td class=class1 width="1"></td>
<td class=classbody align="middle" width="218" height="215"></td>
<td class=class1 width="1"></td>
</tr>
<tr>
<td class=class1 width="220" colSpan="3" height="1"></td>
</tr>
</table></div>
设定stepY,换行Y加多长to weidegong(weidegong) :你的最终目的是什么?
比如一堆的div,重组成排序的
stepY:每换行加多长