這次帶給大家jQuery動態載入css檔案步驟詳解,jQuery動態載入css檔案的注意事項有哪些,下面就是實戰案例,一起來看一下。
有時我們可能會需要使用 jQuery 來載入一個外部的 css 文件,如在切換頁面佈局時。想法是創建一個 link 元素,並將它添加到 標記中即可,下邊首先看看怎麼使用 jQuery 來實現。
下邊是我喜歡的寫法:
$("<link>") .attr({ rel: "stylesheet", type: "text/css", href: "site.css" }) .appendTo("head");
有些朋友可能會使用下邊的寫法,只是形式有些小差異(append appendTo),原理還是一樣的。
$("head").append("<link>"); css = $("head").children(":last"); css.attr({ rel: "stylesheet", type: "text/css", href: "/Content/Site.css" });
最後,有的朋友可能希望直接在javascript 中使用,方法如下:
function addCSS() { var link = document.createElement('link'); link.type = 'text/css'; link.rel = 'stylesheet'; link.href = '/Content/Site.css'; document.getElementsByTagName("head")[0].appendChild(link); }
如果是在web 交互時,我們可以使用上述的方法通過jQuery 或者javascript 引入一個css 文件,否則還是建議使用原始的方法。
下面我還介紹一個可以載入js,css的實例
程式碼如下
$.extend({ includePath: '', include: function(file) { var files = typeof file == "string" ? [file]:file; for (var i = 0; i < files.length; i++) { var name = files[i].replace(/^s|s$/g, ""); var att = name.split('.'); var ext = att[att.length - 1].toLowerCase(); var isCSS = ext == "css"; var tag = isCSS ? "link" : "script"; var attr = isCSS ? " type='text/css' rel='stylesheet' " : " language='javascript' type='text/javascript' "; var link = (isCSS ? "href" : "src") + "='" + $.includePath + name + "'"; if ($(tag + "[" + link + "]").length == 0) document.write("<" + tag + attr + link + "></" + tag + ">"); } } }); //使用方法 $.includePath = 'http://hi.xxx/javascript/'; $.include(['json2.js', 'jquery.tree.js', 'jquery.tree.css']);
一個完整的實例
index.html
<!-- Created by Barrett at RRPowered.com --> <!-- File name index.html --> <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax /libs/jquery/1.4.4/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="default.css"> <title>A simple jQuery image slide</title> <script type="text/javascript"> $(function(){ $(".theme").click(function(){ var theme=$(this).attr("rel"); $("link").attr("href",$(this).attr('rel')); $("head").append("<link>"); }); }); </script> </head> <body> <p class="theme" rel="blue.css">Blue</p> <p class="theme" rel="orange.css">Orange</p> <p class="theme" rel="yellow.css">Yellow</p> <p class="theme" rel="default.css">Default</p> <p class="container"> <p class="menu">Tab1 Tab2 Tab3 Tab4 Tab5</p> <p class="inner"> Lorem ipsum dolor sit amet </p> <p class="footer">copyright yoursite 2011</p> </p> </body> </html> default.css body{ background-color:#ffffff; font-family:"arial"; } .theme{ margin:10px; width:70px; padding:5px; text-align:center; background-color:#BEF781; border:solid #333333 1px; color:#444444; font-weight:bold; cursor:pointer; } .container{ margin-left:auto; margin-right:auto; width:700px; } .inner{ padding:20px; border:solid #333333 1px; } .menu{ background-color:#f2f2f2; padding:10px; font-weight:bold; } .footer{ background-color:#f9f9f9; padding:5px; } blue.css body{ background-color:#2E9AFE; font-family:"arial"; } .theme{ margin:10px; width:70px; padding:5px; text-align:center; background-color:#BEF781; border:solid #333333 1px; color:#444444; font-weight:bold; cursor:pointer; } .container{ margin-left:auto; margin-right:auto; width:700px; } .inner{ padding:20px; border:solid #333333 1px; background-color:#58ACFA; color:#ffffff; } .menu{ background-color:#f2f2f2; padding:10px; font-weight:bold; } .footer{ background-color:#f9f9f9; padding:5px; } yellow.css body{ background-color:#F7FE2E; font-family:"arial"; } .theme{ margin:10px; width:70px; padding:5px; text-align:center; background-color:#BEF781; border:solid #333333 1px; color:#444444; font-weight:bold; cursor:pointer; } .container{ margin-left:auto; margin-right:auto; width:700px; } .inner{ padding:20px; border:solid #333333 1px; background-color:#f6f6f6; } .menu{ background-color:#F2F5A9; padding:10px; font-weight:bold; } .footer{ background-color:#F2F5A9; padding:5px; } orange.css body{ background-color:#FE9A2E; font-family:"arial"; } .theme{ margin:10px; width:70px; padding:5px; text-align:center; background-color:#BEF781; border:solid #333333 1px; color:#444444; font-weight:bold; cursor:pointer; } .container{ margin-left:auto; margin-right:auto; width:700px; } .inner{ padding:20px; background-color:#F7BE81; color:#404040; } .menu{ background-color:#ffffff; padding:10px; font-weight:bold; color:#FFBF26; } .footer{ background-color:#ffffff; padding:5px; color:#FFBF26; }
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是jQuery動態載入css檔案步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!