play()函数直到最后才播放视频,evcentlistener关闭,在控制台中我没有错误可以帮助我。
以下是完整版:
https://codepen.io/apistol/pen/LOgaWw?editors=1010
var video = document.getElementById("bgvid");
var fclick = document.getElementById("first-click");
var pauseButton = document.querySelector(".pause-button");
function addShowClass() {
var element = document.getElementById("fclick");
element.classList.add("display-inherit");
}
function vidPlay() {
video.play();
}
video.addEventListener("timeupdate", function() {
if (this.currentTime >= 5) {
this.pause();
addShowClass();
this.removeEventListener("timeupdate", arguments.calee);
}
});
pauseButton.addEventListener("click", function() {
if (video.paused) {
video.play();
pauseButton.innerHTML = "Pause";
} else {
video.pause();
pauseButton.innerHTML = "Paused";
}
})
答案 0 :(得分:0)
修正了它。
var video = document.getElementById("bgvid");
var fclick = document.getElementById("first-click");
var pauseButton = document.querySelector(".pause-button");
function addShowClass() {
var element = document.getElementById("fclick");
element.classList.add("display-inherit");
}
function vidPlay() {
video.play();
}
video.addEventListener("timeupdate", function() {
if(this.currentTime >= 5.00 ){
this.pause();
addShowClass();
this.removeEventListener("timeupdate", arguments.callee);
}
});
pauseButton.addEventListener("click", function() {
if(video.paused) {
video.play();
pauseButton.innerHTML = "Pause";
} else {
video.pause();
pauseButton.innerHTML = "Paused";
}
})
你的尝试没有错。你刚才有一个错字:
你写了
this.removeEventListener("timeupdate", arguments.calee);
但它应该是
this.removeEventListener("timeupdate", arguments.callee);
(注意被调用者中的双l)
这就是removeEventListener无法删除事件的原因。我不知道为什么它在控制台中没有告诉你......