forループ内でsetTimeout関数を使用する方法が混乱しています。私がしようとしているのは、配列に基づいてdivを1つずつ強調表示することです。ここに私のコードは次のとおりです。forループ内のsetTimeOut
for (i = 0; i < strArray.length; i++) {
doSetTimeout(i, colors, strArray);
}
と、関数は、doSetTimeout:
this threadに基づいてfunction doSetTimeout(i, colors, strArray) {
$("use." + strArray[i]).css("fill", colors[Math.floor((Math.random() * colors.length) + 1)]);
setTimeout(function() {
$("use").css("fill", "#333333");
}, 1000);
}
、私は色の変化を行うための独立した機能を持つことが、問題を解決するだろうと思ったが、私はまだですすべてのdivが同時にフラッシュする問題があります。誰でも問題が何であるか知っていますか?これを行うには別の方法がありますか?
... '}、1000年* i)は;' ... – Rayon
@Rayonを行います、一人で時間を変えません最初のfill文がすべての要素に対して同時に実行されないようにする必要はありません。 – trincot
@trincot - 私はそれを気付かなかった...良いもの;) – Rayon