我一直收到此错误" pause_button.js:6未捕获的TypeError:无法读取属性' addEventListener' of null(匿名函数)@ pause_button.js:6"。不知道出了什么问题,但如果有人可以帮我解决这个问题,那就是代码。
var vid = document.getElementById("bgvid"),
pauseButton = document.getElementById("vidpause");
function vidFade() {
vid.classList.add("stopfade");
}
vid.addEventListener('ended', function() {
// only functional if "loop" is removed
vid.pause();
// to capture IE10
vidFade();
});
pauseButton.addEventListener("click", function() {
vid.classList.toggle("stopfade");
if (vid.paused) {
vid.play();
pauseButton.innerHTML = "Pause";
} else {
vid.pause();
pauseButton.innerHTML = "Paused";
}
})
答案 0 :(得分:0)
此错误:
未捕获的TypeError:无法读取null
的属性'addEventListener'
正在这里发生:
vid.addEventListener('ended', function() { /.../ });
这意味着vid
是null
。因此,这一行找不到匹配的元素:
var vid = document.getElementById("bgvid")
然后,修复将是一个与之匹配的元素。 (我应该假设它是一个<video>
元素吗?)具体来说,当代码执行时,该元素需要存在。所以你可能没有元素,或者可能有一个元素,但代码
对比这个:
<script type="text/javascript">
// this *won't* find the element
var vid = document.getElementById("bgvid");
</script>
<video id="bgvid" />
用这个:
<video id="bgvid" />
<script type="text/javascript">
// this *will* find the element
var vid = document.getElementById("bgvid");
</script>
只需确保代码运行时元素存在,并且应该解决问题。
答案 1 :(得分:0)
第6行的vid为null。这意味着代码:
document.getElementById("bgvid")
找不到任何元素。
确保html上存在id为“bgvid”的元素,或者它是元素的正确ID。