最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript訪問樣式表代碼

 更新時間:2010年10月15日 19:10:50   作者:  
在web頁面中,我們經(jīng)常需要通過修改樣式(style)來達(dá)到更好的用戶體驗(yàn),需要的朋友可以參考下。
比如:當(dāng)我們將鼠標(biāo)移動到一個圖標(biāo)上的時候,圖標(biāo)會出現(xiàn)一些動畫效果(漸變放大、閃動、更換顏色等),而這一切的友好效果基本上都跟樣式(style)有關(guān),所以這一篇,我學(xué)習(xí)JavaScript對style的操作。

技術(shù)關(guān)鍵點(diǎn):style。這一篇要求我們對CSS樣式有一定的了解。(讀者可以google一下CSS的相關(guān)內(nèi)容)

操作步驟:

1、頁面代碼(包括JS代碼)如下:

復(fù)制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Style Example</title>
<style type="text/css">
div.special
{
background-color:Red;
height:50px;
width:50px;
}
</style>

<script type="text/javascript">
function getBackGroundColor() {
var oDiv = document.getElementById("div1");
alert(oDiv.style.backgroundColor);
}
</script>
</head>
<body>
<div id="div1" class="special"></div>
<input type="button" value="Get BackGround Color" onclick="getBackGroundColor();"/>
</body>
</html>


JS代碼中獲得了div對象,并輸出了div對象的背景顏色,一切看起來都那么完美,可是效果總是讓我們失望,如下:

這樣看來,JavaScript以這種方式去訪問CSS樣式無法達(dá)到效果,原因:CSS數(shù)據(jù)并非存儲在style屬性中,而是存儲在類中。所以接下來要做的:就是怎么樣去訪問CSS類?



2、幸運(yùn)的是,我們找到了document.styleSheets集合。document.styleSheets包含了html頁面中所有樣式表的引用和所有的<style>元素。

因?yàn)闉g覽器的不同,訪問樣式表中單獨(dú)的規(guī)則(規(guī)則:指定是CSS類,例如上面html代碼中的div.special)的方法是不同的。DOM為每一個樣式表指定一個cssRules的集合,但是IE卻把這個集合命名為rules。所以在獲取樣式集合之前,代碼需要做一個技巧性的改動:

復(fù)制代碼 代碼如下:
oCSSRules = document.styleSheets[0].cssRules || document.styleSheets[0].rules;


每個規(guī)則都包含selectorText特性,div.special就是上面html中CSS規(guī)則的selectorText的值。規(guī)則還包含style屬性,這個時候就可以通過style屬性獲取背景顏色了。來看代碼吧:

復(fù)制代碼 代碼如下:

function getBackGroundColor() {
var oCSSRules = document.styleSheets[0].cssRules || document.styleSheets[0].rules;
alert(oCSSRules[0].style.backgroundColor);
}

代碼效果:

3、這個時候,你可用通過修改樣式來改變背景顏色,但是最好不要這樣做,因?yàn)槟愀牡舻氖荂SS類,其他引用了改CSS類的元素也會改變背景顏色,所以如果需要修改樣式,做好直接修改單個元素的style屬性,比如:document.getElementById("div1").style.backgroundColor="Blue";

相關(guān)文章

最新評論

柘城县| 炎陵县| 海淀区| 樟树市| 太仆寺旗| 崇礼县| 呈贡县| 延津县| 宣城市| 张家川| 江门市| 梨树县| 建德市| 华蓥市| 台中市| 磐石市| 浦城县| 宁阳县| 濉溪县| 四会市| 定安县| 松滋市| 波密县| 林周县| 疏附县| 左贡县| 加查县| 安乡县| 扬中市| 五家渠市| 土默特右旗| 岳普湖县| 申扎县| 黄山市| 镇远县| 西丰县| 通江县| 乌拉特后旗| 通化市| 林州市| 房产|