欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

不要使用CSS Expression的原因分析

 更新時(shí)間:2008年09月10日 10:27:00   作者:  
CSS Expression也稱為CSS表達(dá)式,它是動(dòng)態(tài)設(shè)置CSS屬性的強(qiáng)大方法,但也存在著一定的危險(xiǎn)性。
在CSS Expression中使用JavaScript表達(dá)式。CSS屬性根據(jù)JavaScript表達(dá)式的計(jì)算結(jié)果來(lái)設(shè)置。
CSS Expression在其它瀏覽器中不起作用,因此在跨瀏覽器的編碼中單獨(dú)針對(duì)IE設(shè)置時(shí)會(huì)比較有用。
從IE5開(kāi)始支持CSS Expression。我們看下面的代碼:
復(fù)制代碼 代碼如下:

background-color: expression( (new Date()).getHours()%2 ? "#F00" : "#00F" );

上面的代碼是使用CSS Expression,實(shí)現(xiàn)隔一個(gè)小時(shí)切換一次背景顏色。
CSS Expression的問(wèn)題就在于它的計(jì)算頻率要比想象的多出很多。不僅僅是在頁(yè)面顯示和縮放時(shí),就是在頁(yè)面滾動(dòng)、乃至移動(dòng)鼠標(biāo)時(shí)都會(huì)要重新計(jì)算一次。給CSS Expression增加一個(gè)計(jì)數(shù)器可以跟蹤表達(dá)式的計(jì)算頻率。在頁(yè)面中隨便移動(dòng)鼠標(biāo)都可以輕松達(dá)到10000次以上的計(jì)算量。
一個(gè)減少CSS Expression計(jì)算次數(shù)的方法就是使用一次性的表達(dá)式,它在第一次運(yùn)行時(shí)將結(jié)果賦給指定的樣式屬性,并用這個(gè)屬性來(lái)代替CSS Expression。
如果樣式屬性必須在頁(yè)面周期內(nèi)動(dòng)態(tài)地改變,使用事件句柄來(lái)代替CSS表達(dá)式是一個(gè)可行辦法。如果必須使用CSS Expression,一定要記住它們要計(jì)算成千上萬(wàn)次并且可能會(huì)對(duì)你頁(yè)面的性能產(chǎn)生影響。不要讓您的用戶感覺(jué)打開(kāi)你的頁(yè)面,機(jī)器會(huì)變的很慢。


相關(guān)文章

最新評(píng)論