国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > CSS > 正文

如何對(duì)CSS Expression進(jìn)行優(yōu)化

2024-07-11 08:22:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

ie 瀏覽器中 css expression 特性的最大的問(wèn)題:會(huì)反復(fù)執(zhí)行,每秒鐘可能執(zhí)行了成百上千次,有嚴(yán)重的性能問(wèn)題。

如何對(duì) css expression 進(jìn)行優(yōu)化呢?

至少:如果我們將 css expression 在匹配的元素中僅執(zhí)行一次,性能將會(huì)提升很大。

old9《css expression reloaded》一文中提供了一個(gè)解決方案:

在 css expression 語(yǔ)句體里,將觸發(fā)該 expression 的 css 屬性重置。

例如:

div {
    zoom
: expression(function(el){el.style.zoom = "1"; alert(el.tagname);}(this));
}

補(bǔ)充幾點(diǎn):

  1. css expression 執(zhí)行在任意一個(gè)匹配的元素上。
  2. 在 css expression 內(nèi), “this”關(guān)鍵字指向當(dāng)前匹配的 html 元素。
  3. css 屬性選用一些不常用的屬性來(lái)觸發(fā),觸發(fā)完重置回默認(rèn)值。

最近在 ajaxian 的文章《creating a queryselector for ie that runs at “native speed”》 中看到作者 dion almaer 也提供了一個(gè)類似的解決方式:

div {
   
-singlex: expression(this.singlex ? 0 : (function(t) { alert(t.tagname); t.singlex = 0; } )(this));
}

但此代碼并沒(méi)有完全解決 css expression 最大的性能問(wèn)題。因?yàn)槊看斡|發(fā)還是要去執(zhí)行 expression 腳本,比如你滾動(dòng)鼠標(biāo)的中間滾輪。

最后強(qiáng)調(diào),僅是對(duì) css expression 做了優(yōu)化,但并未說(shuō) css expression 就不存在其他方面的問(wèn)題。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 招远市| 中超| 泗洪县| 钟祥市| 漳浦县| 磐石市| 连城县| 阿图什市| 香港| 根河市| 北碚区| 论坛| 海城市| 嘉峪关市| 辽源市| 曲水县| 加查县| 邓州市| 牟定县| 新泰市| 绥德县| 巩留县| 琼中| 南木林县| 石狮市| 娱乐| 虞城县| 丹巴县| 富裕县| 茌平县| 喜德县| 武川县| 静乐县| 海林市| 禹城市| 麻栗坡县| 正蓝旗| 洪湖市| 巴青县| 绥德县| 贡嘎县|