0

我正在寻找一种每 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 语句。最好的方法是什么?

4

1 回答 1

1

从您的角色中删除setTimeout(skip, 1000);并放置在您正确拨打电话的代码的另一部分。

var vid = document.getElementById("video");
var cTime = vid.currentTime;

setTimeout(skip, 1000);

function skip() {
  if (cTime > 5 && cTime < 10) {
    vid.currentTime = 15
  }
}
于 2019-09-09T17:39:13.033 回答