javascript 動(dòng)態(tài)樣式添加的簡單實(shí)現(xiàn)
異步加載css文件或者異步加載css模塊,支持所有瀏覽器,包括IE,參考至javascript高級編程
1.createLink方法用于創(chuàng)建一個(gè)style標(biāo)簽并添加到head標(biāo)簽中
2.createModule方法用于創(chuàng)建一個(gè)style樣式表的標(biāo)簽,并且如果在IE8以下的版本運(yùn)行會(huì)拋出異常,在異常捕獲模塊中執(zhí)行style.styleSheet.cssText兼容IE添加style的樣式內(nèi)容。
<button id="demo">css文件</button>
<button id="demo1">css模塊</button>
<script type="text/javascript">
//異步加載css文件,支持所有瀏覽器
document.getElementById("demo").onclick = function () {
createLink("../../css/demo.css");
}
function createLink(src) {
var link = document.createElement("link");
link.rel = "stylesheet"
link.type = "text/css";
link.href = src;
document.getElementsByTagName("head")[0].appendChild(link);
}
//IE將<style>視為一個(gè)特殊的與<script>類似的節(jié)點(diǎn),不允許其訪問子節(jié)點(diǎn),事實(shí)上,IE此時(shí)拋出的錯(cuò)誤與向<script>元素添加子節(jié)點(diǎn)時(shí)拋出的錯(cuò)誤相同,
//解決IE中的這個(gè)問題的辦法就是訪問元素的styleSheet屬性,該屬性又有一個(gè)CSSText屬性,可以接受css代碼
document.getElementById("demo1").onclick = function () {
createModule("body{background:green;}");
}
function createModule(css) {
var style = document.createElement("style");
style.type = "text/css";
try {
style.appendChild(document.createTextNode(css));
} catch (ex) {
style.styleSheet.cssText = css;
}
document.getElementsByTagName("head")[0].appendChild(style);
}
</script>
以上就是小編為大家?guī)淼膉avascript 動(dòng)態(tài)樣式添加的簡單實(shí)現(xiàn)全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
Bootstrap告警框(alert)實(shí)現(xiàn)彈出效果和短暫顯示后上浮消失的示例代碼
這篇文章主要介紹了Bootstrap告警框(alert)實(shí)現(xiàn)彈出效果和短暫顯示后上浮消失,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
淺談TypeScript3.7中值得注意的3個(gè)新特性
這篇文章主要介紹了TypeScript3.7中值得注意的3個(gè)新特性,對TS感興趣的同學(xué),可以參考下2021-05-05
JS實(shí)現(xiàn)密碼框的顯示密碼和隱藏密碼功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)密碼框的顯示密碼和隱藏密碼功能,涉及javascript針對頁面form表單元素動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12
HTML中使背景圖片自適應(yīng)瀏覽器大小實(shí)例詳解
這篇文章主要介紹了HTML中使背景圖片自適應(yīng)瀏覽器大小實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
經(jīng)典的間隔時(shí)間滾動(dòng)新聞(圖片),可控制滾動(dòng)
經(jīng)典的間隔時(shí)間滾動(dòng)新聞(圖片),可控制滾動(dòng) 其實(shí)這個(gè)也挺多網(wǎng)站用到的,簡單又實(shí)用。(2010-05-05

