私は4x4のグリッドを持っていて、異なる色が一度に1つのセルに表示されるように色のシーケンスを表示したいと思います。
ループの使用は機能しません:
var table = document.getElementById('myTable');
for(var i=0; i<sequence.length; i=i+3) {
setTimeout(function(){ table.rows[sequence[i]].cells[sequence[i+1]].className = sequence[i+2]; }, timeout);
setTimeout(function(){ table.rows[sequence[i]].cells[sequence[i+1]].className = 'black'; }, timeout+1999);
timeout = timeout+2000;
}
} catch(err) { alert(err); }
}
ステートメントを順番に使用すると、次のようになります。
setTimeout(function(){ table.rows[sequence[0]].cells[sequence[1]].className = 'black'; }, 2999);
setTimeout(function(){ table.rows[sequence[3]].cells[sequence[4]].className = sequence[5]; }, 3000);
setTimeout(function(){ table.rows[sequence[3]].cells[sequence[4]].className = 'black'; }, 4999);
(...)
ループが機能しない理由を誰かが知っていますか?タイムアウトをクリアしようとしましたが、喜びはありませんでした。