本文只是實現無刷新更改頁面樣式的一個例子,具體現實中如有問題,可以查詢MSDN獲取幫助.
要改成頁面樣式,第一步理解樣式文件的加載原理,即新加載在後面的同名樣式將自動覆蓋原來的同名樣式,比如說
body{font:size:10px;backgroup:url(../images/aa.img)repeat top center}這個樣式的作用是給背景加上一個圖片,圖片平鋪,然而當頁面中在這之後加上一個樣式body{backgroup-reapt:noreapt;}這樣雖然你的頁面中有兩個同名的樣式,但對背景圖片的重複會變成不自動平鋪了。
要設置成JS無刷新更改頁面樣式,可以通過增加一個樣式文件(跟原頁面的樣式結構一樣,具體內容不一樣),來更改原來頁面的樣式,代碼如下:
var links=document.CreateElements("link");
link.type="text/style";
link.href="other.css";
document.getElementsByTagName("head")[0].AppenChild(link);
這樣就可以了。
另一種方法:就是在更改頁面中某一部分的樣式時,直接通過document.CreateElement("Style")元素來實現。
注意:使用document.CreateElement("Style")時,IE中通過StyleSheet.Text來實現CSS內容的書寫,FireFox等瀏覽器通過增加一個TextNode,然後將樣式給其InnerHTML來實現。