新聞中心
元素的CSS樣式,除了包括內(nèi)聯(lián)的(即通過style屬性加上的)樣式定義外,還有頁面嵌入的css和外部引入的css兩種方式。但在JS中通過el.style.xxx只能獲取的內(nèi)聯(lián)的樣式屬性,這就存在比較大的局限性。好在瀏覽器都提供了另外的方式來獲取以其它方式定義的樣式屬性,在IE中有currentStyle、FF等w3c標準的瀏覽器中有getComputedStyle。

站在用戶的角度思考問題,與客戶深入溝通,找到獨山子網(wǎng)站設計與獨山子網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋獨山子地區(qū)。
參考了幾個JS-Lib的代碼,決定實現(xiàn)一個簡化版的getStyle函數(shù)。該函數(shù)目標為:滿足大多數(shù)需要、跨瀏覽器、代碼簡潔、性能優(yōu)良。本著這幾點要求,本人花了一個小時的時間才搞定,主要利用了“JS邏輯運算符特性、代碼"編譯",函數(shù)的即時執(zhí)行”幾個小技巧,寫到這里,以備以后使用,如果能對哪位朋友有幫助,那當然更好。
程序代碼
var getStyle=function(){
var f=document.defaultView;
return new Function('el','style',[
"style.indexOf('-')>-1 && (style=style.replace(/-(\\w)/g,function(m,a){return a.toUpperCase()}));",
"style=='float' && (style='",
f ? 'cssFloat' : 'styleFloat',
"');return el.style[style] || ",
f ? 'window.getComputedStyle(el, null)[style]' : 'el.currentStyle[style]',
' || null;'].join(''));
}();
//使用示例:
var el=document.getElementById('test');
getStyle(el,'line-height');
getStyle(el,'color');
getStyle(el,'float');
網(wǎng)頁題目:Javascript實現(xiàn)一個獲取元素樣式的函數(shù)getStyle
網(wǎng)站鏈接:http://www.fisionsoft.com.cn/article/dhgigss.html


咨詢
建站咨詢
