我需要修改现有的滑块。它的幻灯片现在添加了不同的数据秒,并且需要活动那么长时间。以前我有:
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();