私は、特定のページ上のすべてのvideo
の要素を取得し、それらにplaying
イベントが適用され、次のscript
がありますaddEventListener '再生'は1回だけ発生します。
var video = document.getElementsByTagName("video");
for(var i = 0; i < video.length; i++){
(function(vid) {
vid.addEventListener('playing', function(){
var percentComplete = Math.round((vid.currentTime/vid.duration) * 100);
console.log(percentComplete);
});
})
(video[i]);
}
私はページを実行し、例えば、ビデオ1をクリックしたときに今、私はpercentComplete
ビーイングを見ますconsole log
にログオンしましたが、ビデオ1が終了してビデオ2をクリックすると、console
に何も書き込まれませんでした。このaddEventListener
は、クリックされた最初のビデオにのみ適用されます。なぜか、ビデオが再生されるたびに?
実際のコードが機能するはずなので、問題を再現するライブデモ(StackSnippet®またはfiddle)を提供する必要があります。 @gyreの方が*正しく動作するはずです(今、彼は/彼女の入力ミスを修正しました)*また、 'this'を使うこともできますが、代替解決策は根本的な問題を修正するものではないでしょう。あなたのコードブロック。 – Kaiido