ランチA をクリックすると > やきにく定食が表示+ボタンの背景が黄色
ランチB をクリックすると > とんかつ定食が表示+ボタンの背景が黄色
ランチC をクリックすると > 焼肉定食が表示+ボタンの背景が黄色
*ただし、定食名は一つしか表示しない。また表示されている以外のボタンの背景色はグレー とする。
以下のコードで実行されますが、ボタン数が増えるとコード数が膨大になります。
同じイベントの変数について簡略化する方法をご教示ください。
<button id='lunch_a'>ランチA</button> <button id="lunch_b">ランチB</button> <button id="lunch_c">ランチC</button> <p id="yakiniku" style="display:none">やきにく定食</p> <p id="tonkatsu" style="display:none">とんかつ定食</p> <p id="sashimi" style="display:none">刺身定食</p> <script> var lunch_a = document.getElementById('lunch_a'); var lunch_b = document.getElementById('lunch_b'); var lunch_c = document.getElementById('lunch_c'); var yakiniku = document.getElementById('yakiniku'); var tonkatsu = document.getElementById('tonkatsu'); var sashimi = document.getElementById('sashimi'); lunch_a.addEventListener('click', function() { yakiniku.style.display = 'block'; lunch_a.style.backgroundColor = 'yellow'; tonkatsu.style.display = 'none'; lunch_b.style.backgroundColor = 'grey' sashimi.style.display = 'none'; lunch_c.style.backgroundColor = 'grey' }); lunch_b.addEventListener('click', function() { tonkatsu.style.display = 'block'; lunch_b.style.backgroundColor = 'yellow'; yakiniku.style.display = 'none'; lunch_a.style.backgroundColor = 'grey' sashimi.style.display = 'none'; lunch_c.style.backgroundColor = 'grey' }); lunch_c.addEventListener('click', function() { sashimi.style.display = 'block'; lunch_c.style.backgroundColor = 'yellow'; yakiniku.style.display = 'none'; lunch_a.style.backgroundColor = 'grey' tonkatsu.style.display = 'none'; lunch_b.style.backgroundColor = 'grey' }); </script>コード
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/10 00:14