English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

jsで九宮格のランダムな色のジャンプを実現

効果は以下の通り:

 

図(1)  初期図

図(2)  開始点滅

以下はコード:

<!DOCTYPE html>
<html>
<head>
 <title>九宮格</title>
 <style type="text/css">
 div{
 width:190px;
 height:190px;
 background:#FFA600;
 float:left;
 margin:10px;
 border-radius: 10px;
 }
 body{
 width:700px;
 margin:0 auto;
 }
 button{
 clear:both;
 width:200px;
 height:50px;
 background:#FFF;
 border:none;
 border-radius:10px;
 position:relative;
 left:100px;
 }
 button:hover{
 background:#FFA600;
 }
 </style>
</head>
<body>
 <div></div>
 <div></div>
 <div></div>
 <div></div>
 <div></div>
 <div></div>
 <div></div>
 <div></div>
 <div></div>
 <button id="btnone">開始点滅</button>
 <button id="btntwo">終了点滅</button>
 <script type="text/javascript" >
 var div=document.getElementsByTagName('div');
var colors=['red','plum','blue','green','cyan','black','pink','gray','brown'];
btnone.onclick=function(){//スタートをクリック
 c=setInterval(function(){//タイマーを使用
 start();//関数を呼び出す
 },1000)//時間を設定
}
btntwo.onclick=function(){//停止按钮の
 for(i=0;i<div.length;i++{//ループ
 div[i].style.background="#FFA600";//色をクリアします
 }
 clearInterval(c);//タイマーを停止します
}
function start(){
 for(var i=0;i<div.length;i++{//ランダムな色を設定するたびに背景を設定します
 div[i].style.background="#FFA600";
 }
 var arr=new Array(3);//ランダムな数を収容する配列を作成します
 var arr1=new Array(3);
 for(var i=0;i<arr.length;i++{//第一グループの配列を作成します
 var a=parseInt(Math.random()*9); 
 console.log(a);
 if(i==0){//一番目の数字を直接配列にインポートします
 arr[i]=a;
 }else{
 for(var j=0;j<i;j++{//二番目と三番目の数字を判断します
 if(a==arr[j]){//重複があれば再スタート
  i--
 }else{
  arr[i]=a;
 }
 }
 }
 }
 for(var i=0;i<arr1.length;i++{//同上。ランダムな色
 var a=parseInt(Math.random()*9); 
 if(i==0){
 arr1[i]=a;
 }else{
 for(var j=0;j<i;j++{
 if(a==arr1[j]){
  i--
 }else{
  arr1[i]=a;
 }
 }
 }
 }
 for(var i=0;i<arr.length;i++{
 div[arr[i]].style.background=colors[arr1[i]];//ランダムな色をランダムなアドレスに与えます
 }
}
 </script>
</body>
</html>

これで本文のすべての内容が終わります。本文の内容が皆様の学習や仕事に少しでも役立つことを願っています。また、呐喊教程!を多くのご支援をお願いします。

声明:本文の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーにより自発的に提供された内容であり、本サイトは所有権を持ちません。また、人工的な編集は行われていません。著作権侵害を疑う内容があれば、以下のメールアドレスにご連絡ください:notice#oldtoolbag.com(メールを送信する際は、#を@に変更してください。告発を行い、関連する証拠を提供してください。一旦確認がとれましたら、本サイトは即座に侵害を疑われるコンテンツを削除します。)

基礎教程
おすすめ