【发布时间】:2021-12-31 02:38:18
【问题描述】:
我希望我的弹出窗口(单击按钮时)在每次单击按钮时显示我的文件夹中的随机图像。我的网站使用了 html、css 和 javascript。
问题:每次都是同一张随机图片。只有当我重新启动页面时才会显示不同的随机图像。
现在有效:当我点击开始按钮时,会弹出一个带有来自该文件夹的随机图像的弹出窗口(这正是我想要的)但是如果我点击我的关闭按钮随机图片并再次按下开始按钮,相同的图片再次弹出。只有当我重新启动页面时,当我按下开始按钮时才会显示新的随机图片。但是当我关闭弹出窗口并想要重新启动它时,该图片保持不变。
我每次按下开始按钮时都想要一个随机图像,而无需重新启动页面。
我是否在 javascript 中使用布尔值?我可以自行重新启动该功能吗?我一直看到类似的问题,但没有一个解决方案对我有用。
(开始按钮也是一个图片,但它是一个按钮)对不起,如果代码格式奇怪,我是代码新手
谢谢!!
我的代码:
HTML:
<div class="popup" id="popup-1">
<div class="overlay"> </div>
<div class="content">
<img class="imagelook"/> <!-- image is start-button -->
<div
class="close-btn"
onclick="togglePopup()"
onclick="generateRandomPicture(array)">× <!-- random image from folder -->
</div>
</div>
</div>
<body>
<button type="button" onclick="togglePopup()" class="imglook"></button> <!-- the start-button -->
</body>
Javascript:
function togglePopup(){
document.getElementById("popup-1").classList.toggle("active");
}
const imageArray =[
"zettel/9.png",
"zettel/8.png",
"zettel/10.png",
"zettel/11.png",
"zettel/12.png",
"zettel/13.png"
];
const image = document.querySelector("img");
window.onload = () => generateRandomPicture(imageArray);
function generateRandomPicture(array){
let randomNum = Math.floor(Math.random() * imageArray.length);
image.setAttribute("src", imageArray[randomNum]);
}
【问题讨论】:
-
div元素必须在body内 - 除非上面只是简单地提取,否则该标记无效 -
另外 - 您可以分配多个事件处理程序,但不能在 HTML 中使用多个
onclick定义 -
当我将 div 放入正文时,程序无法正常工作,但谢谢,我会以某种方式尝试!
标签: javascript html image random directory