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

时间:2021-05-26

我的思路是,在编写独立模块的时候,注意将这些方法集成到$.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!');
});

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章