0

我正在尝试创建一个自动更改的“旋转”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;
}

};

正如你所看到的,我试图通过最后从自身调用函数来使用递归。我在 Google Chrome 的开发者工具中收到的错误是:Uncaught ReferenceError: launchTimedRotator is not defined

提前致谢

4

1 回答 1

1

在中使用字符串setInterval()不是很好的做法。改用匿名函数:

setInterval(function() {
    launchTimedRotator();
}, 3000);

虽然setInterval似乎不在它的位置。它最终将创建许多区间示例。也许您打算setTimeout改用?

setInterval()通常,使用和可以达到相同的效果setTimeout()

万一setInterval它是公正setInterval(function() {}, 3000)的,万一setTimeout它是

function runTimeout() {
    setTimeout(function() {
        runTimeout();
    }, 3000);  
}

就个人而言,我更喜欢setTimeout()更可靠和易于管理。

于 2013-08-02T14:45:14.030 回答