我的主要目标是在视频中7:45从20:00开始显示倒数计时器。
这是我正在使用的jwplayer调用的事件:
onTime: function(event){showTimer(event.position);}
这是我的功能showTimer:
function showTimer(video_position){
// Schedule the update to happen once every second
if(Math.round(video_position) == 465){
setInterval(updateTimer, 1000);
}
};
问题: 因为onTime()不能保证在465.0右击,我必须在视频位置上输入Math.round。如果我这样做,4-10 onTime事件处理程序会在465.0 - 466.0内完成,所以我的setInterval()会被多次调用,并且计时器会非常快地倒计时。
有没有办法让它达到setInterval()一次或者可能是一个全局变量我可以第一次设置让setInterval()知道它已经被淘汰了?
答案 0 :(得分:3)
我只是使用布尔标志来检查事件是否已经被触发。
var fired = false;
if(Math.round(video_position) == 465 && !fired){
fired = true;
setInterval(updateTimer, 1000);
}
这样它只能触发一次事件。