信号制作で クリック、青三秒点灯、青三秒点滅、からの黄色二秒点灯、最後に赤五秒点灯させたいのですがJQueryで書いた部分、青点滅終了と黄色点灯開始が反応しません。なぜでしょうか??
<DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>信号を作る</title> <link rel="stylesheet" href="信号.css"> </head> <body> <div id="square"> <div id="red"></div> <div id="yellow"></div> <div id="blue"></div> </div> <button id="start">START</button> <button id="stop">STOP</button> <script src="https://code.jquery.com/jquery-3.1.1.slim.js" integrity="sha256-5i/mQ300M779N2OVDrl16lbohwXNUdzL/R2aVUXyXWA=" crossorigin="anonymous"></script> <script> var interval; //setintervalとclearintervalつなぐやつ //青3秒点灯→3秒点滅→黄色2秒→赤5秒 //とりあえずボタン押したら青が点灯するプログラム書きます window.onload=function(){ var start=document.getElementById('start'); start.addEventListener('click',tentou,false); start.addEventListener('click',start_flash,false); } function tentou(){ var blue=document.getElementById('blue'); blue.style.backgroundColor='blue'; } //ボタン押してして三秒後に点滅開始 function start_flash(){ setTimeout(wait,3000); function wait(){ interval=setInterval(tenmetsu,500); } } function tenmetsu(){ var blue=document.getElementById('blue'); if(blue.style.backgroundColor==='blue'){ blue.style.backgroundColor='white' } else{ blue.style.backgroundColor="blue" } } //その三秒後(デフォルトから6秒後)点滅終了 $('#blue').click(function(){ setTimeout(wait,6000); function wait(){ clearInterval(interval); } }); //同時に黄色点灯 $('#yellow').click(function(){ setTimeout(yellow,6000); function yellow(){ $('#yellow').css('background-color','yellow'); } }); </script> </body> </html> コード
コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。記入エリアの右部分あたりにリアルタイムに結果が表示されていると思うので、そこを見ながら調整してください。
回答3件
あなたの回答
tips
プレビュー