如您所见,我有三个阵列,每个阵列存储三个单独的图像。目前,您可以通过鼠标单击图像来循环浏览每个阵列,以便每次都获得新图像。我想要做的是加入“随机!”按钮下面要求每个阵列从其各自的阵列中更改为随机图像,并同时执行此操作。所以说你点击“随机!”然后每个数组将从内部选择一个随机图像并显示它。
我不确定如何做到这一点。有什么想法吗?
<script type="text/javascript">
imgs=Array("pic1.jpg","pic2.jpg","pic3.jpg");
var x=0;
function change() {
document.getElementById("img").src=imgs[++x];
if (x==2) {
x=-1;
}
}
if (!imgs[x+1]) {
x=-1;
}
</script>
<img src="pic1.jpg" id="img" onmousedown="change()" style="cursor: pointer;">
<img src="" id="img" alt="" onmousedown="change()"><br>
<!-- /slider -->
<script type="text/javascript">
imgs1=Array("pic4.jpg","pic5.jpg","pic6.jpg");
var x1=0;
function change1() {
document.getElementById("img1").src=imgs1[++x1];
if (x1==2) {
x1=-1;
}
}
if (!imgs1[x1+1]) {
x1=-1;
}
</script>
<img src="pic4.jpg" id="img1" onmousedown="change1()" style="cursor: pointer;">
<img src="" id="img1" alt="" onmousedown="change1()"><br>
<!-- /slider1 -->
<script type="text/javascript">
imgs2=Array("pic7.jpg","pic8.jpg","pic9.jpg");
var x2=0;
function change2() {
document.getElementById("img2").src=imgs2[++x2];
if (x2==2) {
x2=-1;
}
}
if (!imgs2[x2+1]) {
x2=-1;
}
</script>
<img src="pic7.jpg" id="img2" onmousedown="change2()" style="cursor: pointer;">
<img src="" id="img2" alt="" onmousedown="change2()"><br>
<!-- /slider2 -->
<a href="#" data-role="button">Random!</a>
答案 0 :(得分:1)
您可以使用随机函数来选择随机数组索引:
function getRandomIndex(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
因此,在您的更改功能中,您可以执行以下操作:
document.getElementById("img1").src=imgs1[getRandomIndex(0,imgs1.length - 1)];