你能在setInterval变量运行时更新它吗



我需要修改现有的滑块。它的幻灯片现在添加了不同的数据秒,并且需要活动那么长时间。以前我有:

var slidePause = 10;
function startSlideBanner() {
bannerTimer = setInterval(nextSlide, slidePause * 1000);
}
startSlideBanner();

这非常有效。现在我需要在每次迭代中更新slidePause变量。如果可能的话,寻找一个例子。

否:不能使用setInterval。一旦设置好,它只能被取消。

但是,您可以使用setTimeout来实现您的目标。虽然这可以递归完成,但我更喜欢利用承诺迭代完成:

const wait = ms => new Promise(res => setTimeout(res, ms));
let slidePause = 10;
async function startSlideBanner() {
while(true) {
await wait(slidePause * 1000);
nextSlide();

// Example: Double the time for each slide
slidePause = slidePause * 2;
}
}
startSlideBanner();

相关内容

  • 没有找到相关文章

最新更新