JavaScript強化教程——style、currentStyle、getComputedStyle區別介紹

本文爲 H5EDU 機構官方 HTML5培訓 教程,主要介紹:JavaScript強化教程 —— style、currentStyle、getComputedStyle區別介紹

style、currentStyle、getComputedStyle區別介紹
樣式表有三種方式
內嵌樣式(inline Style) :是寫在Tag裏面的,內嵌樣式只對所有的Tag有效。

內部樣式(internal Style Sheet):是寫在HTML的裏面的,內部樣式只對所在的網頁有效。

外部樣式表(External Style Sheet):如果很多網頁需要用到同樣的樣式(Styles),將樣式(Styles)寫在一個以.css爲後綴的CSS文件裏,然後在每個需要用到這些樣式(Styles)的網頁裏引用這個CSS文件。 最常用的是style屬性,在JavaScript中,通過document.getElementById(id).style.XXX就可以獲取到XXX的值,但意外的是,這樣做只能取到通過內嵌方式設置的樣式值,即style屬性裏面設置的值。



解決方案:引入currentStyle,runtimeStyle,getComputedStyle style 標準的樣式,可能是由style屬性指定的!

runtimeStyle 運行時的樣式!如果與style的屬性重疊,將覆蓋style的屬性!

currentStyle 指 style 和 runtimeStyle 的結合! 通過currentStyle就可以獲取到通過內聯或外部引用的CSS樣式的值了(僅限IE) 如:document.getElementById("test").currentStyle.top

要兼容FF,就得需要getComputedStyle 出馬了

注意: getComputedStyle是firefox中的, currentStyle是ie中的. 比如說

<style>
#mydiv {
     width : 300px;
}
</style>
則:

var mydiv = document.getElementById('mydiv');
if(mydiv.currentStyle) {
      var width = mydiv.currentStyle['width'];
      alert('ie:' + width);
} else if(window.getComputedStyle) {
      var width = window.getComputedStyle(mydiv , null)['width'];
      alert('firefox:' + width);
}
另外在FF下還可以通過下面的方式獲取

1
2
document.defaultView.getComputedStyle(mydiv,null).width;
window.getComputedStyle(mydiv , null).width;

點擊進入JavaScript強化教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章