不知大家對(duì)精華區(qū)的表格排序終極優(yōu)化是否還有記憶,當(dāng)時(shí)討論的結(jié)果曾以為是最快的JS排序了,實(shí)則不然,按前段時(shí)間我發(fā)的DHTML性能提升帖(轉(zhuǎn)譯)所講到的,DOM效率某些情況下并不如DHTML,比如一次寫入大量數(shù)據(jù)時(shí),DOM頻繁創(chuàng)建添加反而更慢,所以可以對(duì)排序算法作以下修改:
[單擊全選,Ctrl+A復(fù)制,將代碼保存成html文件運(yùn)行]
注意測(cè)試時(shí)將記錄條數(shù)增加到500條以上,推薦1000條 我測(cè)試結(jié)果是平均1322ms左右
但這樣就是最快的嗎?非也,且看以下xml+xslt+js例子,能把時(shí)間縮短到721ms左右 需要準(zhǔn)備三個(gè)文件 1. xml文件 ---節(jié)省版面起見,這里只羅列兩條記錄 <?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下兼容,必須使用這個(gè)名字
3.htm文件
[單擊全選,Ctrl+A復(fù)制,將代碼保存成html文件運(yùn)行]
以上代碼在 WIN2K,IE5 下測(cè)試通過,歡迎大家指正 :)
出處:藍(lán)色理想
責(zé)任編輯:紅色黑客
◎進(jìn)入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
|