javascript - 在运行时更改 setInterval() 方法中的时间段
问题描述
如何在不使用该方法(Id)的clearInterval()的情况下更改setInterval()方法中的周期(计时器)?
例如,我想让该方法具有初始固定速度并随着时间的推移减慢速度,并借助 setTimeout() 方法在十秒内完成?
如果我能得到一些例子,我将非常感激:)
解决方案
我认为间隔是错误的使用方法。您最好使用 setTimeout 并根据您想要的新等待时间调用下一个超时。
function runIt(myFunc) {
let waitFor = 3000;
function executeIt () {
myFunc();
waitFor = waitFor - 250;
if (waitFor>=0) {
next();
}
}
function next() {
window.setTimeout(executeIt, waitFor);
}
next();
}
runIt(function (){ console.log(Date.now())})
推荐阅读
- javascript - 为什么 x.func1 x.fun2 x.func3 函数在 onClick 中不起作用
- c - MySQL C 连接器在 Windows x64 上与 GCC 链接错误
- python - ValueError:某些类型在推断后无法确定
- java - java.lang.NoClassDefFoundError: org/junit/jupiter/api/MethodOrdererContext
- c# - 转换 'Emgu.CV.Image
' 到 'System.Drawing.Image' - c - 如何检查一个 int 是否可以被另一个 int 整除?
- php - 如何将多个图像上传到一个文件夹并将它们的路径存储到一个数据库列中
- java - java中的递归二进制方法不起作用
- javascript - 当前未启用对实验语法“classProperties”的支持 (8:16)。添加@babel/plugin-proposal-class-properties
- javascript - 如何将 div 附加到标签中