gpt4 book ai didi

javascript - 争夺图像 - Javascript

转载 作者:行者123 更新时间:2023-11-29 22:02:53 27 4
gpt4 key购买 nike

我有一个 3x4 的图像表,我想像拼图一样对其进行打乱。总共有 12 个单独的 gif。我需要帮助的地方是,严格使用 javascript,我如何设置它以便每次加载页面时随机加扰图像?到目前为止,我已经将所有图像加载到一个数组中,如下所示:

不完整的 JS:

var imgArray = new Array();

imgArray[0] = new Image();
imgArray[0].src = 'pic_01.gif';

imgArray[1] = new Image();
imgArray[1].src = 'pic_02.gif';

imgArray[2] = new Image();
imgArray[2].src = 'pic_03.gif';

imgArray[3] = new Image();
imgArray[3].src = 'pic_04.gif';

etc... pic_05.gif...

我的 HTML:

<table>
<tr>
<th> <img src="pic_01.gif" onclick="imageSwap()" alt="" border= height=100 width=100></img> </th>
<td> <img src="pic_02.gif" alt="" border= height=100 width=100></img></td>
<td> <img src="pic_03.gif" alt="" border= height=100 width=100></img></td>
</tr>
<tr>
<td> <img src="pic_04.gif" alt="" border= height=100 width=100></img></td>
<td> <img src="pic_05.gif" alt="" border= height=100 width=100></img></td>
<td> <img src="pic_06.gif" alt="" border= height=100 width=100></img></td>
</tr>
<tr>
<td> <img src="pic_07.gif" alt="" border= height=100 width=100></img></td>
<td> <img src="pic_08.gif" alt="" border= height=100 width=100></img></td>
<td> <img src="pic_09.gif" alt="" border= height=100 width=100></img></td>
</tr>
<tr>
<td> <img src="pic_10.gif" alt="" border= height=100 width=100></img></td>
<td> <img src="pic_11.gif" alt="" border= height=100 width=100></img></td>
<td> <img src="pic_12.gif" alt="" border= height=100 width=100></img></td>
</tr>
</table>

我最终想要做的是能够让用户单击一个“随机”图像并将其与另一个“随机”图像交换,以解决难题。任何输入表示赞赏!谢谢!

最佳答案

我认为最好的办法是为每个 img 元素添加一个类(假设是 random):

<img src="pic_10.gif" class="random" alt="" height=100 width=100 />

然后我们可以通过一个简单的querySelectorAll获取所有的图片:

var images = document.querySelectorAll('.random');

随机化 src 的数组:

var srcs = ['pic_01.gif', 'pic_01.gif', etc, etc];
srcs = srcs.sort(function() { return Math.random() > 0.5; });

然后遍历图像,将新的 src 应用于每个图像:

for (var i = 0; i < images.length; ++i) {
images[i].src = srcs[i];
}

完整的功能是:

var imageSwap = function() {
var images = document.querySelectorAll('.random');

var srcs = ['pic_01.gif', 'pic_01.gif', etc, etc];
srcs = srcs.sort(function() { return Math.random() > 0.5; });


for (var i = 0; i < images.length; ++i) {
images[i].src = srcs[i];
}
};

Example JSFiddle

关于javascript - 争夺图像 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com