fason(阿信)
要怎能么用啊,给过例子好吗
要怎能么用啊,给过例子好吗
解决方案 »
- 如何用js获取链接指向的页面中的信息
- 怎么解决JS中window.open()打开路径的缓存
- js 获得window.open打开的窗口大小
- 求一个帮助文档?请前辈进来看一下.
- 使用javascrip实现对象的拖曳
- javascript高手请进!!回调函数function的参数idx, ssidObj是哪里传过来的?怎么直接就用啊?
- 急人,郁闷,拷贝下来的示例代码不运行,请大家看看
- window.opener.location.reload();到底是什么意思?
- 带复选框的树形菜单!!!急急!!
- 纯JS二级联动怎么写
- 如何实现开启一个新窗口的问题
- 一可以集成开发11种(Html,Js,Asp,Xml..)编程语言的中文软件!
不知它的效率如何,现在不方便测试,我写过一个简单的,和用tb.moveRow(i,j)的速度比是1:10左右(数据量500-1000)
还有,我想问一下array.sort(compare)是不是不适合用于像tb.rows这样的数组的?
<TABLE><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR></TABLE><SCRIPT LANGUAGE="JavaScript">
<!--
function orderTB(objTB,index){
for(var i=1;i<(objTB.rows.length-1);i++){
for(var j=i+1;j<objTB.rows.length;j++){
if(parseFloat(objTB.rows[j].cells[index].innerText)>parseFloat(objTB.rows[i].cells[index].innerText)){
objTB.moveRow(j,i);
}
}
}
}
function orderTB2(objTB,index){
var ar=[];
var rows = objTB.rows
for (var i=0;i<rows.length;i++) ar[i]=[rows[i].cells[index].innerText,rows[i].cloneNode(true)];
ar.sort(function(a,b){return a[0]-b[0]});
for (var i=rows.length-1;i>=0;i--) objTB.deleteRow(i);
for (var i=0;i<ar.length;i++)
objTB.firstChild.insertBefore(ar[i][1]);
}
var tb = document.getElementsByTagName("TABLE")[0]var d = new Date();
orderTB(tb,0)
alert("改进前:"+(new Date()-d))var d = new Date();
orderTB2(tb,1)
alert("改进后:"+(new Date()-d))//-->
</SCRIPT>
</body>
<TABLE><TR><TD>a</TD><TD>b</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR><TR><TD>1</TD><TD>5</TD></TR><TR><TD>2</TD><TD>4</TD></TR><TR><TD>3</TD><TD>3</TD></TR><TR><TD>4</TD><TD>2</TD></TR><TR><TD>5</TD><TD>1</TD></TR></TABLE><SCRIPT LANGUAGE="JavaScript">
<!--
function orderTB(objTB,index){
for(var i=1;i<(objTB.rows.length-1);i++){
for(var j=i+1;j<objTB.rows.length;j++){
if(parseFloat(objTB.rows[j].cells[index].innerText)>parseFloat(objTB.rows[i].cells[index].innerText)){
objTB.moveRow(j,i);
}
}
}
}
function orderTB2(objTB,index){
var ar=[];
var rows = objTB.rows
for (var i=1;i<rows.length;i++) ar[i-1]=[rows[i].cells[index].innerText,rows[i].cloneNode(true)];
ar.sort(function(a,b){return b[0]-a[0]});
for (var i=rows.length-1;i>0;i--) objTB.deleteRow(i);
for (var i=0;i<ar.length;i++)
objTB.firstChild.insertBefore(ar[i][1]);
}
var tb = document.getElementsByTagName("TABLE")[0]var d = new Date();
orderTB(tb,0)
alert("改进前:"+(new Date()-d))var d = new Date();
orderTB2(tb,1)
alert("改进后:"+(new Date()-d))//-->
</SCRIPT>
</body>
var ar=[],ar2=[];
var rows = objTB.rows
for (var i=1;i<rows.length;i++) {
var st = rows[i].outerHTML;
ar[i-1]=[rows[i].cells[index].innerText,st];
ar2[i-1]=st;
}
ar.sort(function(a,b){return b[0]-a[0]});
var st = ar2.join("").replace(/></g,">\\s*<").replace(/\//g,"\\/");
var reg = new RegExp(st);
for (var i=0;i<ar.length;i++)
ar2[i]=ar[i][1];
st = ar2.join("");
objTB.outerHTML= objTB.outerHTML.replace(reg,st)
}
改进前 391 改进后30
哗,天哪!!