您的位置:首页 > Web前端 > JavaScript

js下利用控制器载入对应脚本

2010-07-17 00:00 489 查看
我的思路是,在编写独立模块的时候,注意将这些方法集成到$.tools对象中,接下来,在页面中,调用控制器载入模块,并在载入完成后判断$.tools中对象的个数与预定义载入的模块数是否相等,如不等继续等待,如相等执行回调函数。
/* 
* 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!'); 
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐