【发布时间】:2020-07-20 20:21:29
【问题描述】:
我正在尝试使用JS随机更改视频src,惨败
代码如下:
HTML
<body style="width: 720px; height: 480px; overflow: hidden;">
<div id="mainBox">
<div id="Vid" style="display: none">
<video autoplay muted loop id="OracleVid" width="720" height="480">
<source id="OracleVidSRC" src="css/cabenca9sClips_HD/cabenca9sClipHD_001.mp4" type="video/mp4">
</video>
<button id="OracleButton"> Oracle </button>
</div>
和 JS
var oracleButton = document.querySelector('#OracleButton');
var clip = document.querySelector('#OracleVidSRC');
var video = document.querySelector('#OracleVid');
var oracleVidArray = [
"css/clips/video_001.mp4",
"css/clips/video_002.mp4",
"css/clips/video_003.mp4",
]
function oracleClicked() {
var oracleVid =
oracleVidArray[Math.floor(Math.random()*oracleVidArray.length)];
clip.src = oracleVid;
video.style = "display: block";
video.load();
}
oracleButton.onclick = oracleClicked;
谁能告诉我为什么它不加载新视频? 当我检查时,src 确实发生了变化,但它不会加载。
我还在控制台中收到“Uncaught TypeError: video.load is not a function”消息:(
每次新页面加载时,我都会接受一个随机的 src。 点击按钮只会显示视频。
Update: I have also tried this Clicked function
function oracleClicked() {
var oracleVid =
oracleVidArray[Math.floor(Math.random()*oracleVidArray.length)];
var oracleVidSrc = video.createElement("source");
oracleVidSrc.src = oracle
clip.src = oracleVid;
video.style = "display: block";
}
现在我在控制台中得到的是“Uncaught TypeError: video.createElement is not a function”
-_-"
感谢您的关注
【问题讨论】:
-
好吧,如果您希望它在每次点击时都是随机的,那么您需要在每次点击时随机选择它。您目前只是在脚本第一次呈现时选择它。
-
您好,谢谢。我试过添加 'oracleVid=oracleVidArray[Math.floor(Math.random()*oracleVidArray.length)];'到 Clicked 函数的行,但它无论如何都不会加载
-
var oracleVid = oracleVidArray....必须在函数中 -
有道理,我会将其添加到代码中,但我仍然收到“未捕获的 TypeError:video.load 不是函数”
标签: javascript html video src