偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Javascript實現(xiàn)一個獲取元素樣式的函數(shù)getStyle

開發(fā) 后端
在JavaScript中,為便于操作,現(xiàn)在的很多js-lib中都對此做了封裝,但很多時候我們并不需要引入什么lib,我們需要的僅僅是一個getStyle函數(shù)來獲取元素的當前樣式定義。

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

參考了幾個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');

【編輯推薦】

  1. JavaOne 2009第三天:微軟與Sun/Oracle攜手并進
  2. 開發(fā)高可移植性J2ME的軟件
  3. Java虛擬機(JVM)中的內存設置詳解
責任編輯:王觀 來源: 動態(tài)網站制作指南
相關推薦

2018-11-09 10:50:24

JavaScript前端

2018-11-08 16:18:07

JavaScript前端

2018-09-18 10:11:21

前端vue.jsjavascript

2015-05-25 15:06:28

JavaScript函數(shù)式編程

2021-06-25 10:38:05

JavaScript編譯器前端開發(fā)

2011-12-26 16:39:43

局部函數(shù)

2017-03-15 08:43:29

JavaScript模板引擎

2020-10-16 08:26:07

JavaScript開發(fā)技術

2017-03-20 17:59:19

JavaScript模板引擎

2020-11-30 06:20:13

javascript

2022-02-10 07:41:02

JavaScriponce函數(shù)

2022-10-21 14:21:46

JavaScript筆記技能

2011-05-25 14:34:26

javascript

2021-06-16 17:46:55

函數(shù)指針結構

2015-03-10 11:21:44

JavaScript組JavaScript

2014-02-14 09:37:01

JavascriptDOM

2020-06-11 08:48:49

JavaScript開發(fā)技術

2017-05-02 11:30:44

JavaScript數(shù)組惰性求值庫

2021-04-30 08:22:36

異步求和函數(shù)

2022-08-24 14:14:58

JavaScript函數(shù)
點贊
收藏

51CTO技術棧公眾號