前提・実現したいこと
Javascriptとjqueryで、16マス(116までの数字を表示)のルーレットを作成しています。現状では、スタートボタンを押すと、ランダムに116の数字を0.5秒間隔で通り、通った場所に色がつく仕組みを作っております(一度通り過ぎたら色は消えて白に戻ります)。
発生している問題・エラーメッセージ
プログラミング学習を始めて2カ月半ほどの者です。
スタートボタンを押しても、「1」のみしか色がつかず、動きもそこで止まってしまいます。1~16までランダムに動かすにはどのように現在のコードを修正・変更すればいいのでしょうか?
該当のソースコード
JavaScript
1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <title>roulette</title> 7 <link rel="stylesheet" href="roulette.css"> 8 <script src="https://code.jquery.com/jquery-1.11.0.min.js"></script> 9 <script> 10 var interval_id; 11 var start_flag=false;//start_roulettetの処理中はtrue 12 var len=$("#matrix td").length; 13 function start_roulette(){ 14 //ランダムに取得したtd1~16に色をつける 15 var result=Math.floor(Math.random()*len); 16 $("#matrix td").css({'background-Color':''}); 17 $("#matrix td").eq(result).css({'background-Color':'red'}); 18 } 19 function stop_roulette(){ 20 clearInterval(interval_id); 21 start_flag=false; 22 } 23 24 function start_count(){ 25 //0.5秒ごとにstart_roulette関数を実行 26 if(start_flag===false){ 27 interval_id=setInterval(start_roulette,500); 28 start_flag=true; 29 } 30 } 31 $(document).ready( 32 function(){ 33 $('#start').click(start_count); 34 $('#stop').click(stop_roulette); 35 $('#reset').click(reset_roulette); 36 37 }); 38 </script> 39</head> 40 41<body> 42 <table id="matrix"> 43 <tr> 44 <td>1</td> 45 <td>2</td> 46 <td>3</td> 47 <td>4</td> 48</tr> 49<tr> 50 <td>5</td> 51 <td>6</td> 52 <td>7</td> 53 <td>8</td> 54</tr> 55<tr> 56 <td>9</td> 57 <td>10</td> 58 <td>11</td> 59 <td>12</td> 60</tr> 61<tr> 62 <td>13</td> 63 <td>14</td> 64 <td>15</td> 65 <td>16</td> 66</tr> 67 </table> 68 <button id="start">スタート</button> 69 <button id="stop">ストップ</button> 70 <button id="reset">リセット</button> 71</body> 72</html> 73
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/24 13:02