ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptで9マスのグリッド画像の位置をランダムにシャッフルする実装方法を詳しく解説

JavaScriptで9マスのグリッド画像の位置をランダムにシャッフルする実装方法を詳しく解説

黄舟
黄舟オリジナル
2018-01-09 14:50:273417ブラウズ

この記事では主にJavaScript9マスのグリッド位置をランダムにシャッフルする方法を詳しく紹介します。興味のある方は参考にしてください

9マスの簡単なパズルを作ってください。今日、私にとって最大の悩みは、クリックすると画像の位置が崩れ始めることです。最初は百度で関連ブログをチェックしたり、寄り道したりしました。最後に、多くの例を読んだ後、私自身のメソッドを書きました。

<script>
//打乱图片方法
  function fun(){
   var x = [];
   var y ;
   for(var i=1;i<10;i++){
    var p = document.getElementById("d"+i+"");
    p.removeChild(document.getElementById("img"+i+""));
   }
   for(var i=1;i<10;i++){
   var img = document.createElement(&#39;img&#39;); //动态创建img标签
    var p1 = 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+"";
    }
    p1.appendChild(img);
    x.push(p[j]); //添加已经出现的图片号数进入x[]数组
   }
  dragdrop();//拖动图片方法
  }
</script>

「開始」をクリックすると、次のように画像の位置をランダムにシャッフルする効果が得られます

以上がJavaScriptで9マスのグリッド画像の位置をランダムにシャッフルする実装方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。