js下利用控制器载入对应脚本 |
本文标签:控制器,载入,脚本 我的思路是,在编写独立模块的时候,注意将这些方法集成到$.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!); }); |