js下利用控制器載入對(duì)應(yīng)腳本
更新時(shí)間:2010年07月17日 20:33:01 作者:
因項(xiàng)目開(kāi)發(fā)需要,須將每一個(gè)方法都獨(dú)立成單獨(dú)的js文件以便載入、維護(hù),所以,必須需要有一個(gè)控制器用于載入這些方法。
我的思路是,在編寫(xiě)?yīng)毩⒛K的時(shí)候,注意將這些方法集成到$.tools對(duì)象中,接下來(lái),在頁(yè)面中,調(diào)用控制器載入模塊,并在載入完成后判斷$.tools中對(duì)象的個(gè)數(shù)與預(yù)定義載入的模塊數(shù)是否相等,如不等繼續(xù)等待,如相等執(zhí)行回調(diào)函數(shù)。
/*
* LOADScript Mod
* Params url1,url2,url3,url4,fn
*/
jQuery.extend({
loadMod: function(){
var argleng = arguments.length,
arglast = arguments[argleng-1],
fn = false,
queue = [],
checknum = 0,
timer = null
// init
if(jQuery.isFunction(arglast)){argleng = argleng -1;fn=arglast;}
for (var i=0;i<argleng ;i++){
queue.push(arguments[i]);
}
// getscript
jQuery.each(queue,function(i,o){
jQuery.getScript(o);
});
// check load ready?
loadReady();
function loadReady(){
if(jQuery.tools != undefined){
checknum = 0;
$.each(jQuery.tools,function(i,n){
if(jQuery.isPlainObject(n)){checknum++;}
});
}
if(checknum != argleng){
clearTimeout(timer);
timer = setTimeout(loadReady, 100);
}else{
if(!!fn){fn.call(document.jQuery)}
}
}
}
});
// 使用方法
$.loadMod('a.js','b.js','c.js',function(){
alert('success!');
});
復(fù)制代碼 代碼如下:
/*
* LOADScript Mod
* Params url1,url2,url3,url4,fn
*/
jQuery.extend({
loadMod: function(){
var argleng = arguments.length,
arglast = arguments[argleng-1],
fn = false,
queue = [],
checknum = 0,
timer = null
// init
if(jQuery.isFunction(arglast)){argleng = argleng -1;fn=arglast;}
for (var i=0;i<argleng ;i++){
queue.push(arguments[i]);
}
// getscript
jQuery.each(queue,function(i,o){
jQuery.getScript(o);
});
// check load ready?
loadReady();
function loadReady(){
if(jQuery.tools != undefined){
checknum = 0;
$.each(jQuery.tools,function(i,n){
if(jQuery.isPlainObject(n)){checknum++;}
});
}
if(checknum != argleng){
clearTimeout(timer);
timer = setTimeout(loadReady, 100);
}else{
if(!!fn){fn.call(document.jQuery)}
}
}
}
});
// 使用方法
$.loadMod('a.js','b.js','c.js',function(){
alert('success!');
});
您可能感興趣的文章:
- 動(dòng)態(tài)載入js提高網(wǎng)頁(yè)打開(kāi)速度的方法
- JS實(shí)現(xiàn)文件動(dòng)態(tài)順序載入的方法
- 頁(yè)面載入結(jié)束自動(dòng)調(diào)用js函數(shù)示例
- JS 實(shí)現(xiàn)完美include載入實(shí)現(xiàn)代碼
- Js 載入時(shí)選中文字的實(shí)現(xiàn)代碼
- js簡(jiǎn)單實(shí)現(xiàn)點(diǎn)擊左右運(yùn)動(dòng)的方法
- js簡(jiǎn)單的點(diǎn)擊返回頂部效果實(shí)現(xiàn)方法
- JS實(shí)現(xiàn)點(diǎn)擊按鈕自動(dòng)增加一個(gè)單元格的方法
- JS實(shí)現(xiàn)點(diǎn)擊按鈕后框架內(nèi)載入不同網(wǎng)頁(yè)的方法
相關(guān)文章
簡(jiǎn)單js代碼實(shí)現(xiàn)selece二級(jí)聯(lián)動(dòng)(推薦)
這篇文章主要介紹了簡(jiǎn)單js代碼實(shí)現(xiàn)selece二級(jí)聯(lián)動(dòng)的簡(jiǎn)單實(shí)例。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02微信小程序中使用vant組件庫(kù)的超詳細(xì)圖文教程
說(shuō)到vant框架相信大家應(yīng)該并不陌生了吧,做過(guò)移動(dòng)端開(kāi)發(fā)的小伙伴們應(yīng)該都知道它吧,下面這篇文章主要給大家介紹了關(guān)于微信小程序中使用vant組件庫(kù)的超詳細(xì)圖文教程,需要的朋友可以參考下2023-03-03json對(duì)象轉(zhuǎn)字符串如何實(shí)現(xiàn)
本文將介紹js json對(duì)象與字符串如何實(shí)現(xiàn)轉(zhuǎn)換,有需要的朋友可以參考下2012-12-12根據(jù)身份證號(hào)自動(dòng)輸出相關(guān)信息(籍貫,出身日期,性別)
為了減少客戶(hù)的在頁(yè)面的輸入,做了這個(gè)效果,他可以根據(jù)用戶(hù)輸入的身份證號(hào)輸出籍貫、出身日期、性別的相關(guān)信息,需要的朋友可以參考下2013-11-11