Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript currentTime未按预期工作。I';我在这里没得到什么_Javascript_Video - Fatal编程技术网

Javascript currentTime未按预期工作。I';我在这里没得到什么

Javascript currentTime未按预期工作。I';我在这里没得到什么,javascript,video,Javascript,Video,我不明白为何会这样: myVid1=document.getElementById("video1"); var trigger = 5; var timecheck = myVid1.currentTime; if(timecheck==trigger){ alert("AWESOME"); }; 不起作用。肯定在5秒时会触发if语句吗?我的意思是,我也不明白为什么它不能以这种方式工作: if(myVid1.currentTime=="5"){ alert("AWESOME");

我不明白为何会这样:

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


if(timecheck==trigger){
alert("AWESOME");
};
不起作用。肯定在5秒时会触发if语句吗?我的意思是,我也不明白为什么它不能以这种方式工作:

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

我发现该代码至少有两个问题:

  • 您似乎只执行了一次
    if
    语句,因此,如果在这一次检查过程中媒体恰好不在您想要的时间,那么条件自然会为false。几乎可以肯定的是,你可能想回应视频中相关的事件之一

  • 您正在查找的值正好是
    5
    。但是,您恰好捕捉到
    5
    的几率并不高。记住这是一个浮点数。建议在五秒钟后的任何时间查找
    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
        }
    });
    

    如何运行该代码?myVid1是什么元素?它确实有
    currentTime
    属性吗?@kidwon:大概是一个,继承自,因此有一个。我不知道你说的“如何运行代码”是什么意思。我写它,它运行。我希望如果timecheck变量与trigger变量相等,那么if语句将触发。。。但我错了,我不知道why@user2021641:“我不知道你说的‘如何运行代码’是什么意思。我编写代码并运行它”呃,不。JavaScript客户端代码运行是为了响应某些事件(例如,某个事件)。该事件可以是在初始页面呈现期间处理的
    脚本
    ,也可以是某种
    加载
    事件,等等。如果您只是在
    脚本
    标记中转储该事件,那么您只需查看一次时间,而且它不太可能恰好出现在视频中的
    5
    秒。+1表示时间更新。但是@T.J.时间会每毫秒更新一次,事件会每毫秒触发一次?@AspiringAqib:我假设事件会以合理的方式触发,几乎肯定不会每毫秒触发一次。如果currentTime是浮点数,您也可以使用
    parseInt()
    函数;)啊,我也觉得我的回答不好。谢谢。这实际上是一个循环的声音元素,这将产生不同。我怎样才能让代码启动一次,然后返回到“搜索”状态?@user2021641:我不明白你的意思。