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:我不明白你的意思。