currentTime未按预期工作.I'I’我在这儿什么也没得到

currentTime not working as intended. I'm not getting something here

本文关键字:我在这儿 什么 工作 currentTime      更新时间:2023-09-26

我不明白为什么:

myVid1=document.getElementById("video1");
var trigger = 5;
var timecheck = myVid1.currentTime;

if(timecheck==trigger){
alert("AWESOME");
};

不起作用。5秒时if语句肯定会触发吗?我的意思是,我也不明白为什么它不能这样工作:

if(myVid1.currentTime=="5"){
    alert("AWESOME");
    };

我看到该代码至少有两个问题:

  1. 您似乎只执行了一次if语句,因此,如果在这一次检查中媒体不在您想要的时间,那么条件自然会为false。您可能想要响应视频的相关MediaController上的某个事件,几乎可以肯定是timeupdate

  2. 您要查找的值正好是5。但是,您碰巧正好赶上5的几率并不高。请记住,currentTime是一个浮点数。建议在五秒钟后的任何时间寻找myVid1.currentTime > 5,如果你只想在第五秒钟内寻找myVid1.currentTime >= 5 && myVid1.currentTime < 6

所以类似于:

myVid1=document.getElementById("video1");
var trigger = 5;
myVid1.controller.addEventListener('timeupdate', function() {
    if (myVid1.currentTime >= trigger) {
        // Do something, note that this will happen again and again unless
        // you set a flag or remove the handler
    }
});