2 回答
TA贡献1877条经验 获得超6个赞
document.write
将替换整个页面。为您的<div>
初始图像提供一个 ID,并使用它来替换该元素的内容:
<div id="wrapper"> <img id="number" src="images/zahl1.jpg" alt="Number"> </div>
用。。。来代替document.write(images1[index1]);
:
document.getElementById('wrapper').innerHTML = images1[index1];
请注意,您可以style='visibility:hidden'
从图像中删除样式并摆脱可见性切换,因为数组中的元素是简单的字符串,此处不加载图像,并且当前显示的图像将被完全替换。
您可以通过简单地替换图像src
属性而不是替换整个 HTML 块来进一步改进这一点,除非您有理由做更多的事情。
TA贡献1775条经验 获得超11个赞
这可能有帮助:
<body>
<!-- button with functions:hide initial picture, select random picture, show random picture-->
<button onClick="shuffle();">Shuffle</button>
<!--initial picture thats not random and always shown when page is loaded-->
<div>
<img id="number" src="images/zahl1.jpg" alt="Number">
</div>
<script type="text/javascript">
//function so the button should be reclickable / array filled with pictures
function shuffle(){
var images1 = [],
index1 = 0;
images1[0] = "images/meme1.jpg";
images1[1] = "images/meme2.jpg";
images1[2] = "images/meme3.jpg";
//selecting random number
index1 = Math.floor(Math.random() * images1.length);
//displaying random image out of array
document.getElementById("number").src = images1[index1];
}
</script>
</body>
添加回答
举报