자동으로 변경되는 '회전하는'DIV를 만들려고합니다. JQuery를 사용하여 DIV의 내용을 변경하는 switchRotator (id) 함수가 있습니다. 다음은 오류를 일으키는 기능입니다 :함수가 정의되지 않은 오류입니다.
function launchTimedRotator(){
//timedSwitch is a boolean value that can be enabled/disabled with buttons
if (timedSwitch) {
if (counter<2) {
counter++;
} else {
counter = 1;
}
switchRotator(counter);
setInterval("launchTimedRotator()",3000);
return null;
}
};
당신은 내가 결국 자체에서 함수를 호출하여 재귀를 사용하기 위해 노력하고있어 볼 수 있듯이. 내가 구글 크롬의 개발자 도구에받을 오류 : catch되지 않은 오류 ReferenceError가 : launchTimedRotator가 setInterval()
에서 문자열을 사용하여 미리
함수가 전역이 아니므로 문자열을 전달할 때 필요합니다. 당신은'setInterval (launchTimedRotator, 3000);'을 할 수 있었지만, 왜 재귀? 동시에 실행되는 간격의 수는 기하 급수적으로 증가합니다. –
"회 전자"중 하나에서 비슷한 개념을 본 후 재귀를 사용했습니다. 나는 증가 할 것인가? 단순히 자신을 호출하고 종료하면 함수가 중복되지 않습니다. 또는 나는 무엇인가 놓치고 있냐? – slava
'setInterval()'은 3 초마다 계속 함수를 실행합니다. 그래서 함수를 다시 호출하면 또 다른'setInterval'을 시작할 것입니다,하지만 원본은 여전히 실행 중입니다, 그래서 이제는 두 개가 있습니다. 그런 다음 다시 3 초마다 두 개가 함수를 다시 호출하여 두 개 더 만들고 두 개는 계속 실행하여 네 개, 네 개, 여덟 개, 네 개, 네 개 ... 등으로 만듭니다. –