videoタグを使い動画を特定の時間が過ぎたら次の動画を再生したいという操作をおこなっているのですが
video.addEventListenerでtimeupdateした際、video.currentTimeが特定の時間になった時に次の動画を表示するfunctionを呼び出しているのですが二度処理が行われてしまって表示したい正しい動画が表示できないという問題があります
java
1var video = document.getElementById('video'); 2video.addEventListener('timeupdate',function(){ 3 if(video.currentTime >= 10){ 4 video.pause(); 5 nextContent();//次の動画表示するfunctionの呼び出し 6 } 7},false);
if(video.currentTime >= 10){
//ここでconsoleに出力すると"test"が二度呼び出されている
console.log("test");
video.pause();
nextContent();
}
video.currentTime >= 10の部分を video.currentTime == 10にした場合はvideo.currentTimeが10.0000028等になっているのが原因で動かきませんでした。
助言よろしくお願いします
--追記--
video.addEventListenerのtimeupdateの処理がif文を過ぎても動かしてしまっているのが原因だと理解したので
java
1video.addEventListener('timeupdate',function(e){ 2if(video.currentTime >= 10){ 3video.pause(); 4nextContent(); 5e.stopPropagation(); 6} 7},false);
e.stopPropagation();で処理を止めようとしたのですがダメでした。

回答2件
あなたの回答
tips
プレビュー