severals setInterval関数を「すぐに」起動しようとしています。 私はforIntervalを含むインデックス付き関数を呼び出すforループを持っています。私はタブとTAB2、両方チェックしましたjavascript setInterval関数の内部ループが機能しない
... setInterval with loop time
しかし、私はまだ成功して苦労している:ここ JavaScript closure inside loops – simple practical example と:
私はここで答えの両方のために見てきました私はここに
のsetInterval関数の外にconsole.logでそれらを読めば働くことは私のコードです:
var tab = <?php echo json_encode($matrice); ?>;
var tab2 = new Array();
var funcs = [];
var countDownAction = new Array();
function countDown(i)
{
countDownAction[i] = setInterval(function(i)
{
// some actions
}, 1000);
}
for(var i = 0; i < tab.length; i++)
{
tab2[i] = [];
tab2[i]['hours'] = tab[i]['hours'];
tab2[i]['minutes'] = tab[i]['minutes'];
tab2[i]['seconds'] = tab[i]['seconds'];
funcs[i] = countDown.bind(this, i);
}
for(var j = 0; j < tab.length; j++)
{
funcs[j]();
}
あなたの '//some actions'は変数' i'に依存していますか? – Luka
はい、これらのアクションは変数iに依存します –
'setinterval'にパラメータ' i'を渡していますが、 'setInterval'はそのコールバックにパラメータを渡さないので、' i'は未定義です。 –