私人小影院久久久影院,无码人妻精品一区二区在线视频,少妇乱人伦无码视频,欧美丰满大胆少妇xxxooo
020-81959520
首頁
網站建設
速成網站
案例展示
新聞動態(tài)
關于我們
聯(lián)系我們
網站問題集錦
網站問題集錦
新聞動態(tài)
網站問題集錦
模板網站
星洋網站優(yōu)化案例
提高你的DHTML性能
發(fā)布時間:2005-09-30
來源:本站
點擊數(shù):
20
[英文原文]msdn.microsoft.com/library/en-us/dnwebgen/html/dhtmlperf.asp?frame=true[中文譯文]www.microsoft.com/china/msdn/msdnonline/feature...
[英文原文] msdn.microsoft.com/library/en-us/dnwebgen/html/dhtmlperf.asp?frame=true [中文譯文] www.microsoft.com/china/msdn/msdnonline/features/articles/dhtmlperf.asp 1.盡量使用同一個腳本函數(shù)來改變HTML內容。如果有多個事件觸發(fā),盡量只改變同一個地方。 2.盡量把內容集中起來一次更新。如果不是特別需要有HTML的內容,盡量使用innerText代替innerHTML Slow: divUpdate.innerHTML = ""; for ( var i=0; i<100; i++ ) { divUpdate.innerHTML += "
This is a slower method!
"; } Fast: var str=""; for ( var i=0; i<100; i++ ) { str += "
This is faster because it uses a string!
"; } divUpdate.innerHTML = str; 3.更新文本內容時盡量使用innerText而不是DOM的createTextNode Slow: var node; for (var i=0; i<100; i++) { node = document.createElement( "SPAN" ); node.appendChild( document.createTextNode( " Using createTextNode() " ) ); divUpdate.appendChild( node ); } Fast: var node; for (var i=0; i<100; i++) { node = document.createElement( "SPAN" ); node.innerText = " Using innerText property "; divUpdate.appendChild( node ); } 4.盡量使用createElement 和 insertAdjacentElement 方法,而不是 insertAdjacentHTML Slow: for (var i=0; i<100; i++) { divUpdate.insertAdjacentHTML( "beforeEnd", "
Uses insertAdjacentHTML()
" ); } Fast: var node; for (var i=0; i<100; i++) { node = document.createElement( "SPAN" ); node.innerText = " Uses insertAdjacentElement() "; divUpdate.insertAdjacentElement( "beforeEnd", node ); } 5.在數(shù)目巨大的情況下,盡量使用innerHTML 來添加項 Slow: var opt; divUpdate.innerHTML = "
"; for (var i=0; i<1000; i++) { opt = document.createElement( "OPTION" ); selUpdate.options.add( opt ); opt.innerText = "Item " + i; } Fast: var str="
"; for (var i=0; i<1000; i++) { str += "
Item " + i + "
"; } str += "
"; divUpdate.innerHTML = str; Faster: var arr = new Array(1000); for (var i=0; i<1000; i++) { arr[i] = "
Item " + i + "
"; } divUpdate.innerHTML = "
" + arr.join() + "
"; 6.使用DOM來創(chuàng)建表格比TOM(insertRow,insertCell)好的多 Slow: var row; var cell; for (var i=0; i<100; i++) { row = tblUpdate.insertRow(); for (var j=0; j<10; j++) { cell = row.insertCell(); cell.innerText = "Row " + i + ", Cell " + j; } } Fast: var row; var cell; var tbody = tblUpdate.childNodes[0]; tblUpdate.appendChild( tbody ); for (var i=0; i<100; i++) { row = document.createElement( "TR" ); tbody.appendChild( row ); for (var j=0; j<10; j++) { cell = document.createElement( "TD" ); row.appendChild( cell ); cell.innerText = "Row " + i + ", Cell " + j; } } 7.通用的操作,盡量放在一個單獨的外部腳本文件里 8.約束你的動態(tài)屬性(指setExpression的用法) 9.使用數(shù)據(jù)綁定來顯示你的資料,你可以使用排序、過濾等操作來提供不同視圖,但只需要訪問一次服務器(減少頻繁訪問服務器的問題) 10.不要把自定義的屬性加到document對象上,這會使得每次讀取該屬性時進行額外的重算。推薦加在window對象上 Slow: for (var i=0; i<1000; i++) { var tmp; window.document.myProperty = "Item "+i; tmp = window.document.myProperty; } Fast: for (var i=0; i<1000; i++) { var tmp; window.myProperty = "Item "+i; tmp = window.myProperty; } 11.盡量直接使用style對象來改變HTML對象外觀,而不是className或者跟clas關聯(lián)的styleSheet對象 12.在訪問textrange對象的父對象(指parentElement方法的返回值)時,先collapse合并range,尤其是復;的range 13.先插入對象,然后添加它的內容 Slow (1).create
(2).create
(3)create TextNode (4)insert TextNode into
如前所述,這里用innerText會更快 (5)insert
into
(6)insert
into TBODY Fast (1)create
(2)create
(3)create TextNode 如前所述,這里用innerText會更快 (4)insert
into TBODY (5)insert
into
(6)insert TextNode into
如前所述,這里用innerText會更快 14.用posLeft,posTop,posWidth,posHeight來代替left,top等 減少字符串->數(shù)值的轉換 15.盡可能少的使用定時器(指setTimeout,setInterval這些),而在同一個定時器里對所有要變化的對象進行操作
文章均為力洋網絡專注網站建設,廣州網站建設的廣州網站建設公司原創(chuàng),轉載請注明來自https://www.m.0580ahsh.com/FAQ/107.html
上一篇:
VBScript和JScript互相調用方法
下一篇:
網頁設計中Html使用的一些問題
熱門資訊
百度愛采購,商家入駐及推廣的費用是多少
商家如何在百度愛采購推廣
企業(yè)網站大揭秘之加密技術的重要性
貨架廠做網站,如何規(guī)劃網站內容和欄目
手把手教您一步到位的網站詳情頁設計攻略
微信小程序為什么這么火,建設小程序對營銷有哪些好處?
ASCII文章在優(yōu)化搜索引擎方面能起到什么關鍵作用
更高端的企業(yè)網站建設應該遵循哪些原則?
首頁
銷售熱線
郵箱
聯(lián)系