JavaScript实现九宫格图片随机打乱功能

作者:微光

时间:2026-10-21

浏览:466

本文介绍如何使用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>

执行该功能后,即可实现图片位置的随机重排,具体效果如下所示。

九宫格图片随机打乱实现

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

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章