他のすべての文字の色を交互に変えて、テキストをアニメーション化しようとしています。私のコードは、それを一方向にスタイリングする限り機能していsetTimeout
ますが、テキストの色を交互にするために再度呼び出すことはありません。
問題は、グローバル変数をカウンターとして使用しているようです。これは、私が見落としている単純な問題である可能性があります。
何か案は?ここに私のJavaScriptコードがあります:
var num = 0;
function animateText(){
var str = "";
var title = document.getElementById("title").innerHTML;
for(var i = 0; i < title.length; i++){
if(num % 2 == 0){
if(i % 2 == 0){
str += '<span style = "color: silver;">' + title.charAt(i) + '</span>';
} else {
str += title.charAt(i) + "";
}
} else {
if(i % 2 != 0) {
str += '<span style = "color: silver;">' + title.charAt(i) + '</span>';
} else {
str += title.charAt(i) = "";
}
}
}
document.getElementById("title").innerHTML = str;
num++;
if(num == 10)
num = 0;
setTimeout("animateText()", 500);
}