当サイト使用テーマ

\ SWELL【WordPressテーマ】 /
当サイト使用サーバー
\ レンタルサーバー【ConoHa WING】 /
プログラミング学習

この記事では、JavaScriptのsetIntervalを使って一定時間間隔で信号の色を切り替えるプログラミングコードを解説します。
最初に完成形を見ていきます。
緑、黄、赤の信号が3秒ごとに切り替わっています。
See the Pen javascript01 by aqua (@aqua-programdiary) on CodePen.
HTMLのコードを解説します。
<span class="green active"></span>
<span class="yellow"></span>
<span class="red"></span>
<span> 要素: class="green active": green と active の2つのクラスが指定されています。green クラスは緑の背景色を持つ円形を表し、active クラスは透明度を元に戻すために使用されます。class="yellow": yellow クラスが指定されています。yellow クラスは黄色の背景色を持つ円形を表します。class="red": red クラスが指定されています。red クラスは赤の背景色を持つ円形を表します。CSSのコードを解説します。
span {
width: 50px;
height: 50px;
border-radius: 50%;
display: inline-block;
}
.red {
background-color: red;
opacity: 0.2;
}
.yellow {
background-color: yellow;
opacity: 0.2;
}
.green {
background-color: green;
opacity: 0.2;
}
.active {
opacity: 1;
}
span スタイル: <span> 要素に適用される基本スタイルが定義されています。これにより、円形の要素が表示されます。.red、.yellow、.green スタイル: .active スタイル: active クラスに対して透明度が1に設定されています。これにより、アクティブな要素は透明度が元に戻り、よりはっきりと表示されます。JavaScriptのコードを解説します。
const span = document.querySelectorAll('span');
let number = 0;
function changeOpacity() {
span[number].classList.remove('active');
number = (number + 1) % span.length;
span[number].classList.add('active');
}
setInterval(changeOpacity, 3000);
const span = document.querySelectorAll('span');querySelectorAll メソッドを使用して、文書内のすべての <span> 要素を取得し、span という名前の NodeList に格納しています。let number = 0; number という変数を宣言し、現在表示中の <span> 要素のインデックスを保持します。function changeOpacity() { ... }: changeOpacity という関数を定義しています。この関数は、アクティブな要素を変更する役割を果たします。span[number].classList.remove('active'); active クラスを削除して非アクティブにします。number = (number + 1) % span.length; number の値を次の要素のインデックスに更新します。% span.length は、インデックスを要素の数でループさせるための計算です。span[number].classList.add('active'); active クラスを追加して、アクティブな要素として表示します。setInterval(changeOpacity, 3000);changeOpacity 関数を3秒ごとに呼び出すように設定します。これにより、アクティブな要素が交互に切り替わるアニメーションが実現されます。