異步加載css文件或者異步加載css模塊,支持所有瀏覽器,包括IE,參考至javascript高級(jí)編程
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>類(lèi)似的節(jié)點(diǎn),不允許其訪(fǎng)問(wèn)子節(jié)點(diǎn),事實(shí)上,IE此時(shí)拋出的錯(cuò)誤與向<script>元素添加子節(jié)點(diǎn)時(shí)拋出的錯(cuò)誤相同, //解決IE中的這個(gè)問(wèn)題的辦法就是訪(fǎng)問(wèn)元素的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ī)?lái)的javascript 動(dòng)態(tài)樣式添加的簡(jiǎn)單實(shí)現(xiàn)全部?jī)?nèi)容了,希望大家多多支持武林網(wǎng)~
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注