我正在尝试创建一个自动更改的“旋转”DIV。 我有一个函数switchRotator(id)使用JQuery来改变DIV的内容。 这里是造成错误的函数:功能未定义错误
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;
}
};
正如你可以看到我试图通过调用自身的功能到底使用递归。 我收到谷歌Chrome的开发者工具的错误是: 未捕获的ReferenceError:launchTimedRotator事先不
你的函数不是全局的,如果你传递一个字符串,这是必需的。你可以做'setInterval(launchTimedRotator,3000);',但为什么递归?您将同时运行的间隔数量呈指数增长。 –
我在其中一个“旋转器”上看到类似的概念后,我使用了递归。我会增加吗?它只是调用自己,然后结束,功能不重复。或者我错过了什么? – slava
'setInterval()'每3秒连续运行一次该函数。所以当它再次调用函数时,它会启动另一个'setInterval',但原始的仍在运行,所以现在你有两个。然后再过3秒钟,这两个人会再次调用函数,再创建两个,原来的两个仍然在运行,四个,然后是八个,然后是十六个......等等。 –