###概要
htmlにtableで表を作り、そこに1~9の座標(id)を指定しています。
(例:サイコロの目1 => 座標5, サイコロの目2 => 座標1,9)
JavaScriptで要素を取得し、
該当idのtextContentに"●"を入れる事でサイコロを表現しています。
ボタンを押した時に、ランダムで持続的に変化するようにしたいのですが、
上手くできずに困っています。
####実現したい事
スタートボタンを押した時に、ランダムにマス目が変化するようにしたいです。
####試した事
squareの座標に"●"を代入し、それを配列に入れて、setIntertvalで動かす。
####エラーコード
SyntaxError: Invalid destructuring assignment target
エラーメッセージを調べると、分割代入と出てきました。
恥ずかしながら、初めて聞いた言葉で理解が乏しいです。
この辺りは自分で調べるつもりですが、もっとシンプルなロジックや、別の方法を知りたいです。
上手くできずに行き詰まってしまったため、質問させて頂きました。
よろしくお願い致します。
###ソースコード
html
1 2<table> 3 <tr> 4 <td name="square" id=1></td> 5 <td name="square" id=2></td> 6 <td name="square" id=3></td> 7 </tr> 8 <tr> 9 <td name="square" id=4></td> 10 <td name="square" id=5></td> 11 <td name="square" id=6></td> 12 </tr> 13 <tr> 14 <td name="square" id=7></td> 15 <td name="square" id=8></td> 16 <td name="square" id=9></td> 17 </tr> 18</table> 19 20<button id="startEye">START</button> 21
javascript
1 2const square = document.getElementsByName("square"); 3 4 function rollEye() { 5 const eyes = [square[4].textContent = "●"],[square[0].textContent = "●",square[8].textContent = "●"]; 6 timeId = setInterval(() => { 7 number = Math.floor(Math.random() * 2); 8 eyes[number]; 9 }, 10); 10 } 11 12 startEye.addEventListener("click", () => { 13 if (!timeId) { 14 rollEye(); 15 } 16 });
回答2件
あなたの回答
tips
プレビュー