>  기사  >  웹 프론트엔드  >  컨트롤러를 사용하여 js_javascript 기술 아래에 해당 스크립트를 로드합니다.

컨트롤러를 사용하여 js_javascript 기술 아래에 해당 스크립트를 로드합니다.

WBOY
WBOY원래의
2016-05-16 18:22:44828검색

내 생각은 독립 모듈을 작성할 때 이러한 메서드를 $.tools 개체에 통합하는 데 주의를 기울이고, 다음으로 페이지에서 컨트롤러를 호출하여 모듈을 로드하고, 로드가 완료된 후 $.tools의 개체를 판단하는 것입니다. 해당 숫자가 미리 정의된 로드된 모듈 수와 동일합니까? 그렇지 않으면 계속 대기합니다. 동일하면 콜백 함수를 실행합니다.

코드 복사 코드는 다음과 같습니다.

/*
* LOADScript Mod
* 매개변수 url1,url2,url3,url4,fn
*/
jQuery.extend({
loadMod: function(){
var arglen =args.length,
arglast = 인수[arglen -1],
fn = false,
queue = [],
checknum = 0,
timer = null

// init
if(jQuery .isFunction( arglast)){argleng = arglen -1;fn=arglast;}
for (var i=0;iqueue.push(arguments[i])
}

// getscript
jQuery.each(queue,function(i,o){
jQuery.getScript(o);
})

/ / 로드 준비 여부를 확인하세요.
loadReady();

function loadReady(){
if(jQuery.tools != undefine){
checknum = 0; jQuery.tools ,function(i,n){
if(jQuery.isPlainObject(n)){checknum ;}
})
}
if(checknum != arglen){
clearTimeout( 타이머);
timer = setTimeout(loadReady, 100);
}else{
if(!!fn){fn.call(document.jQuery)}
}

}
}
});

// 사용법
$.loadMod('a.js','b.js','c.js',function( ){
alert('성공!')
});
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.