不知大家对精华区的表格排序终极优化是否还有记忆,当时讨论的结果曾以为是最快的JS排序了,实则不然,按前段时间我发的DHTML性能提升帖(转译)所讲到的,DOM效率某些情况下并不如DHTML,比如一次写入大量数据时,DOM频繁创建添加反而更慢,所以可以对排序算法作以下修改: [单击全选,Ctrl+A复制,将代码保存成html文件运行] 注意测试时将记录条数增加到500条以上,推荐1000条 我测试结果是平均1322ms左右 但这样就是最快的吗?非也,且看以下xml+xslt+js例子,能把时间缩短到721ms左右 需要准备三个文件 1. xml文件 ---节省版面起见,这里只罗列两条记录 <?xml version="1.0" encoding="UTF-8" ?> <root> <record> <info>AddCommonInfo.mxp</info> <info>MXP File</info> <info>2614</info> <info>2002-12-30 16:45:22,Fri</info> </record> <record> <info>addtemplateparam.mxp</info> <info>MXP File</info> <info>3100</info> <info>2002-12-5 13:28:24,Sun</info> </record> </root> 2. xsl 文件 <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" version="1.0"> <xsl:template match="root"> <table border="1" width="100%"> <xsl:for-each select="record"> <tr> <xsl:for-each select="info"> <td> <xsl:value-of select="text()" /> </td> </xsl:for-each> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> 注意命名空间,想要在IE5下兼容,必须使用这个名字 3.htm文件 [单击全选,Ctrl+A复制,将代码保存成html文件运行] 以上代码在 WIN2K,IE5 下测试通过,欢迎大家指正 :) |