Posted in Javascript onJuly 17, 2010
我的思路是,在编写独立模块的时候,注意将这些方法集成到$.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!'); });
js下利用控制器载入对应脚本
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@