【发布时间】:2022-01-05 11:59:17
【问题描述】:
我正在制作一个带有视频的网页。 我想根据窗口的大小来改变视频的大小。
下面的代码是我的 HTML 代码:
<video id="video" controls="controls" poster="images/video_poster.png" width="320" height="240">
<source src="video/Minions.mp4" type="video/mp4">
<source src="video/Minions.ogv" type="video/ogg">
</video>
我的脚本代码如下:
<script>var video = document.getElementById("video");
function changeVideoSize() {
console.log("width is: ", window.innerWidth)
if (window.innerWidth > 900) {
video.width = "640";
video.height = "480";
}
else {
video.width = "320";
video.height = "240";
}
}
window.addEventListener("resize", changeVideoSize)
function init() {
}
init();
</script>
首先,我把这段脚本代码放在了head标签的最后,结果报错“Cannot set properties of null (setting 'width')”。
我被这个错误困扰了一个小时...... 然后经过多次不同的尝试, 我把它放在body标签的末尾,它起作用了。
为什么会这样? 将它放在头部和身体之间的主要区别是什么? 我应该总是将脚本标签放在正文标签的末尾吗? 还是视情况而定?
【问题讨论】:
标签: javascript html