【发布时间】:2019-09-09 17:32:55
【问题描述】:
我正在寻找每 1 秒检查一次 IF 语句的方法,
var vid = document.getElementById("video");
var cTime = vid.currentTime;
if ( cTime > 5 && cTime < 10) {
}
一旦满足,就运行代码
vid.currentTime = 15
我尝试过 setInterval 方法,但假设它是内存泄漏。我尝试的另一件事是
var vid = document.getElementById("video");
var cTime = vid.currentTime;
function skip() {
if (cTime > 5 && cTime < 10) {
vid.currentTime = 15
}
setTimeout(skip, 1000);
}
但它不断将 currentTime 触发到 15。我将来可能会有多个 if 语句。最好的方法是什么?
【问题讨论】:
-
将
var cTime = vid.currentTime;移动到skip()函数内部? -
您的代码中只能获得一次
cTime。因此,每次调用skip函数时,它的值总是与第一次相同。因此,如果您在第一次运行代码时cTime在 5 到 10 之间,那么它将永远是这样。 -
“我试过 setInterval 方法,但假设它是内存泄漏。”,你为什么会这样假设?
-
您将 currentTime 设置为 15,因此每次将值设置为 15
-
在这里阅读一些关于内存泄漏的 cmets
标签: javascript loops if-statement setinterval current-time