リンクがいくつかあり、フォーカスを1つずつ自動的に渡したいです。以下のコードを使用しています。フォーカスを通過しても問題なく動作しますが、1回だけです。初めてフォーカスが通過すると、リンクの色が変わり、次のリンクに移動します。前のものは再び黒くなり、次のものは赤く塗られます。問題ない。しかし、到達しても最終リンクは再起動しません。
var i = 0;
var letras = document.getElementsByTagName("a");
function pasaLink() {
if (i == 0) {
letras[letras.length-1].style.color = "black";
} else {
letras[i-1].style.color = "black";
}
letras[i].style.color = "red";
letras[i].focus();
i++;
if (i > letras.length) {
i= 0;
}
setTimeout("pasaLink()",2000);
}
ファイナルif
でi=0;
は、ファイナル要素に到達したときに最初のインデックスに戻ろうとしています。その後、再起動して、内のリンクのコレクション全体を繰り返し処理しますletras
。この関数はbody.onload()で呼び出されます。
なぜそれが機能しないのか、何か考えはありますか?