폐쇄 (글로벌 네임 스페이스 오염을 방지하기 위해)에서 일부 기존 최상위 함수를 그룹화하려고하지만 매우 작동하지 않습니다. 작동하도록 설정합니다.클로저/범위 자바 스크립트/jQuery
먼저 익명의 기능을 제외한 모든 JS가 작동하지만 익명 함수로 을 입력하면 "crossfade is defined"오류가 발생합니다. 아무도 내가 완전히 이라는 것을 분명히 알고 있습니까?
setInterval/crossfade가 익명의 기능이 아닌 내부의 외부에서 작동하는 이유는 아직 명확하지 않습니다. start() 내부의 내용은 모두 시작() 외부의 변수/함수를 볼 수 있어야하며 최상위 익명 함수에 의해 만들어진 클로저에서 모두 이 보호되어야합니까? 내에서 crossfade() 내에 액세스하려고하지 않고 있습니다. 실행하려고 시도한 것은 단지 입니다.
(function($) {
//vars up here that internal functions can access
//also using some jquery inside here, so using $
function crossfade() {
//body here
}
//other functions
function start() {
//body here
cInterval = setInterval('crossfade()', 5000);
}
})(jQuery);
고마워 이것이 나를 위해 일하고있다. –