我试图在一个不断变化的元素变为某个值时调用一个函数。
当player.getCurrentTime() >= 0.95 * player.getDuration()
我想打电话handleEvent()
。最好的方法是什么?这是我尝试的最新迭代:
window.onLoad=function() {
var player = document.getElementById("movie_player");
player.addEventListener("customEvent", handleEvent(), false);
function handleEvent() {
// do something here
}
var myEvent = new CustomEvent("customEvent", {
detail: {
time: 0.95 * getDuration()
}
});
document.body.dispatchEvent(myEvent);
}
我将如何完成?
我猜您正在使用YouTube播放器。根据其API,有一个YT.PlayerState.PLAYING
事件可用于跟踪您的getCurrentTime()
。看一下下面的代码:
player.addEventListener(YT.PlayerState.PLAYING, onVideoPlaying, false);
function onVideoPlaying(){
console.log('video is playing');
if (player.getCurrentTime() >= 0.95 * player.getDuration()){
console.log('Here I am!');
// do Something
}
}
另外,我认为您不需要dispatchEvent
自己,因为如上所述,player
您已经在调度一个可以不断利用的不断变化的事件。
让我知道是否有任何不清楚的地方,或者是否错过了任何细节。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句