【发布时间】:2021-02-06 21:15:35
【问题描述】:
我知道这个问题之前已经回答过了,但我一生都无法弄清楚为什么这不起作用。我已经检查过,并重新检查过,一切看起来都应该完全正常,但我不确定我会错过什么。这是我所拥有的:
JS:
const images = [
"https://assets.codepen.io/8689/lake-thumb.jpg",
"https://assets.codepen.io/8689/photo-thumb.jpg",
"https://assets.codepen.io/8689/gopro-thumb.jpg"
];
function getRandomImage() {
const rnd = Math.floor(Math.random() * images.length);
return images[rnd];
}
function changeImage() {
const img = document.querySelector("#images");
img.src = getRandomImage();
}
function init() {
const btn = document.querySelector(".btn-image");
btn.onclick = changeImage;
}
window.onload = init;
HTML:
<div id="images"></div>
<a href="#" class="btn-img">Get Image</a>
Codepen 链接: https://codepen.io/ultraloveninja/pen/ZEOLKeV
它应该工作并在加载时显示随机图像,然后当您单击链接/按钮时加载新图像。所以,不知道为什么它们不会整体显示,而且我在控制台中没有收到任何错误。
【问题讨论】:
-
<div id="images"></div>应该是<img id="images">才能工作 -
顺便说一句,从用户体验的角度来看,最好在加载时对数组进行洗牌,然后用模数循环遍历它们,否则一些点击不会产生新的随机数,它看起来像点击被破坏
标签: javascript html image random