js中用事實證明cssText性能高的問題
更新時間:2011年03月13日 23:49:29 作者:
首先要感謝 EtherDream 的不同觀點,在 巧用cssText屬性批量操作樣式 一篇中由于他的質(zhì)疑態(tài)度使我做了進一步的測試。
復制代碼 代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="gbk">
<title>事實證明cssText在多數(shù)瀏覽器中性能較高</title>
</head>
<body>
<input type="button" value="測試1" onclick="test1()"/> ||
<input type="button" value="測試2" onclick="test2()"/>
<div id="container"></div>
<script>
var container = document.getElementById('container');
function appendElement(){
var ary = [];
container.innerHTML = '';
for(var i=0;i<=1000;i++){
var div = document.createElement('div');
ary.push(div);
container.appendChild(div);
}
return ary;
}
function test1(){
var ary = appendElement();
var d1 = new Date;
for(var j=0;j<ary.length;j++){
ary[j].style.width = '50px';
ary[j].style.height = '50px';
ary[j].style.backgroundColor = 'gold';
}
var d2 = new Date;
console.log('耗時:' + (d2-d1));
}
function test2(){
var ary = appendElement();
var d1 = new Date;
for(var j=0;j<ary.length;j++){
var sty = ary[j].style;
sty.cssText = 'width:50px;height:50px;background-color:red;';
}
var d2 = new Date;
console.log('耗時:' + (d2-d1));
}
</script>
</body>
</html>
測試1,測試2都分別添加1000個div到頁面上。
測試1 使用以下三行代碼
復制代碼 代碼如下:
ary[j].style.width = '50px';
ary[j].style.height = '50px';
ary[j].style.backgroundColor = 'gold';
測試2 使用cssText一行搞定
復制代碼 代碼如下:
sty.cssText = 'width:50px;height:50px;background-color:red;';
測試1,測試2都分別添加1000個div到頁面上。
測試1 使用以下三行代碼
復制代碼 代碼如下:
ary[j].style.width = '50px';
ary[j].style.height = '50px';
ary[j].style.backgroundColor = 'gold';
測試2 使用cssText一行搞定
復制代碼 代碼如下:
sty.cssText = 'width:50px;height:50px;background-color:red;';
測試代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
相關(guān)文章
easyui combogrid實現(xiàn)本地模糊搜索過濾多列
本篇文章主要介紹了easyui combogrid實現(xiàn)本地模糊搜索過濾多列,非常具有實用價值,需要的朋友可以參考下2017-05-05javascript實現(xiàn)動態(tài)加載CSS
最近在做自己的小框架的按需加載模塊,那么就需要做到異步動態(tài)加載css文件。仔細研究了一番,得到了如下解決方案,分享給大家。2015-01-01JS生成隨機數(shù)的多種方法匯總(不同范圍、類型的隨機數(shù))
js產(chǎn)生隨機數(shù)通常是使用javascript的Math.random()函數(shù),下面這篇文章主要給大家介紹了關(guān)于JS生成隨機數(shù)的多種方法(不同范圍、類型的隨機數(shù))的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-11-11flash javascript之間的通訊方法小結(jié)
不用getURL和fsCommand方法個國外的通信方法,值得一看2008-12-12