我有一个网站,他们想在这里提供新闻报道。当前,我有一个填充它的数组,每隔x秒,我希望新闻故事发生变化。

function startNews(stories) {

}

我知道您可以使用setInterval,但是它必须通过一个新函数,并且您不能在该函数中指定某些javascript来触发它。

你有什么建议?

谢谢!

最佳答案

您应该使用setInterval()或重复调用setTimeout()。这就是您将来在某些时间使用javascript进行操作的方式。

这些定时器功能中的任何一个都没有限制。您认为您无法做到的确切原因是,您试图避免这种情况?

这是一个伪代码示例:

var newsArray = [];   // your code puts strings into this array
var curNewsIndex = -1;

var intervalID = setInterval(function() {
    ++curNewsIndex;
    if (curNewsIndex >= newsArray.length) {
        curNewsIndex = 0;
    }
    setTickerNews(newsArray[curNewsIndex]);   // set new news item into the ticker
}, 5000);

或者可以这样:
var newsArray = [];   // your code puts strings into this array
var curNewsIndex = -1;

function advanceNewsItem() {
    ++curNewsIndex;
    if (curNewsIndex >= newsArray.length) {
        curNewsIndex = 0;
    }
    setTickerNews(newsArray[curNewsIndex]);   // set new news item into the ticker
}

var intervalID = setInterval(advanceNewsItem, 5000);

07-24 17:01