jQuery實現的動態載入css和js檔案程式碼例項 [
在實際應用中,可能需要根據程式碼的執行情況來動態的載入js檔案或者css檔案,下面就通過程式碼例項介紹一下如何使用jquery實現此功能,下面不僅提供能夠實現功能的程式碼,也對程式碼實現的過程進行一下詳細的分析。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼$.extend({ includePath: '', include: function(file){ var files = typeof file == "string" ? [file] : file; for (var index = 0; index < files.length; index++){ var name = files[index].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' " : " type='text/javascript' "; var link = (isCSS ? "href" : "src") + "='" + $.includePath + name + "'"; if ($(tag + "[" + link + "]").length == 0){ $("head").prepend("<" + tag + attr + link + "></" + tag + ">"); } } } }); $.include('../js/jquery-ui-1.8.21.custom.min.js'); $.include('../css/black-tie/jquery-ui-1.8.21.custom.css');
上面的程式碼實現了動態載入js和css檔案功能,下面對它的實現過程做一下介紹。
一.程式碼註釋:
1.$.extend({}),為jQuery物件本身擴充套件一個物件。
2.includePath: '',這個是用來規定一些目錄的,當然這裡定義為空,可以根據實際情況自行設定。3.include: function(file){},此函式實現了動態載入效果,引數是要傳遞的要引用檔案的名稱或者路徑等。
4.var files = typeof file == "string" ? [file] : file,判斷是否是一個字串,如果是個字串就將其轉換成一個陣列,file引數可以是一個陣列,一次性傳遞多個路徑。
5.for (var index = 0; index < files.length; index++),遍歷陣列中的每一個元素。
6.var name = files[index].replace(/^\s|\s$/g, ""),將字串中的前後空格清除。
7.var att = name.split('.'),用點分隔字串,並生成一個陣列。
8.var ext = att[att.length - 1].toLowerCase(),獲取陣列的最有一個元素,其實就是獲取檔案的字尾名,如css或者js。
9.var isCSS = ext == "css",判斷ext是否等於"css",如果是則給isCSS賦值true,否則false。
10.var tag = isCSS ? "link" : "script",選擇標籤名的成。
11.var attr = isCSS ? " type='text/css' rel='stylesheet' " : " type='text/javascript' ",選擇相應標籤的一些屬性。
12.var link = (isCSS ? "href" : "src") + "='" + $.includePath + name + "'",設定<link>的href屬性值或者<script>的src屬性值。
13.if ($(tag + "[" + link + "]").length == 0){
$("head").prepend("<" + tag + attr + link + "></" + tag + ">");
} 如果不存在相應的標籤的話,就建立一個,並新增到head中。
二.相關閱讀:
1.replace()函式可以參閱正規表示式replace()函式一章節。
2.split()函式可以參閱javascript split()一章節。
3.toLowerCase()函式可以參閱javascript toLowerCase()一章節。
4.prepend()函式可以參閱jQuery prepend()一章節。
相關文章
- 原生js實現的動態載入css和js檔案程式碼例項JSCSS
- 實現js檔案動態載入程式碼例項JS
- jQuery實現的動態載入指令碼檔案程式碼例項jQuery指令碼
- javascript實現的動態載入css檔案程式碼例項JavaScriptCSS
- 動態載入js或者css檔案程式碼例項JSCSS
- js實現的動態引入css檔案程式碼例項JSCSS
- jQuery實現的非同步動態載入css和js檔案jQuery非同步CSSJS
- javascript動態載入css檔案程式碼例項JavaScriptCSS
- jquery如何實現動態載入CSS檔案jQueryCSS
- js動態載入外部css檔案程式碼JSCSS
- js動態載入 js檔案和 css檔案JSCSS
- 原生JS動態載入JS、CSS檔案及程式碼指令碼JSCSS指令碼
- jquery實現的解析xml檔案程式碼例項jQueryXML
- js實現的動態載入css檔案簡單介紹JSCSS
- jQuery實現的圖片預載入程式碼例項jQuery
- jQuery實現圖片預載入程式碼例項jQuery
- js實現jquery的extend()程式碼例項JSjQuery
- js實現的動態載入css外部樣式表程式碼JSCSS
- jQuery動態載入更新外部樣式表程式碼例項jQuery
- css3實現的動態大白效果程式碼例項CSSS3
- jQuery和css3實現的開關效果程式碼例項jQueryCSSS3
- 動態載入javascript指令碼程式碼例項JavaScript指令碼
- 優雅的實現動態載入 css、jsCSSJS
- jquery實現的滑動門程式碼例項jQuery
- javascript如何動態載入js或者css檔案JavaScriptJSCSS
- 動態載入JS和CSSJSCSS
- jQuery實現的JSONP應用程式碼例項jQueryJSON
- jquery實現的讀取並解析xml檔案程式碼例項jQueryXML
- jQuery實現滑動門程式碼例項jQuery
- jQuery動態載入js檔案簡單介紹jQueryJS
- jquery實現的滑動軸效果程式碼例項jQuery
- css3實現的loadding載入動畫程式碼例項CSSS3動畫
- 動態引入外部javascript檔案程式碼例項JavaScript
- jquery實現的下拉和收縮程式碼例項jQuery
- jQuery解析xml檔案程式碼例項jQueryXML
- js動態設定元素css樣式程式碼例項JSCSS
- js實現的元素運動程式碼例項JS
- js和css實現的扇子展開和摺疊效果程式碼例項JSCSS