本文介绍如何使用JavaScript实现九宫格图片的随机打乱效果。核心思路是通过动态创建img标签,利用Math.random()生成随机索引从预设数组中选取图片序号,并重新插入DOM节点。代码包含移除旧图片、生成新图片及追加到容器的完整流程,适用于简易拼图或随机展示场景。
九宫格图片随机打乱实现
本文演示如何制作一个简易的九宫格拼图,其中最具挑战性的部分是实现点击后图片位置的随机打乱功能。在查阅了大量网络资料并排除诸多干扰信息后,通过整合多个示例的逻辑,最终编写出以下实现方案。
<script>
//打乱图片方法
function fun(){
var x = [];
var y ;
for(var i=1;i<10;i++){
var div = document.getElementById("d"+i+"");
div.removeChild(document.getElementById("img"+i+""));
}
for(var i=1;i<10;i++){
var img = document.createElement('img'); //动态创建img标签
var div1 = document.getElementById("d"+i+"");
var p = [1,2,3,4,5,6,7,8,9]; //用p[]数组保存图片的代号
var j = Math.round(Math.random()*8); //通过随机数j产生随机图片代号p[j]
for ( var u=0 ; u < x.length ; u++ ) //遍历x[]数组防止后面出现与前面一样的图片代号
{
if ( x[u] == p[j] )
{
y = x[u];
break;
}
}
if(p[j]==y){
i-=1;
continue;
}else{
img.setAttribute("src","images/tiger_0"+p[j]+".gif");
img.id = "img"+i+"";
}
div1.appendChild(img);
x.push(p[j]); //添加已经出现的图片号数进入x[]数组
}
dragdrop();//拖动图片方法
}
</script>
执行该功能后,即可实现图片位置的随机重排,具体效果如下所示。

以上内容即为九宫格图片随机打乱功能的完整实现,希望能为相关技术学习提供有益参考。