フォーラムへの投稿を待つ方法として、ちょっとしたタイム キラー プロジェクトを作成しています。
var factsArray = ['MIT has created a 3D version of Scratch, called StarLogo', 'Duck echos DO quack', 'Ostriches never stick their head in the sand', 'The cigarrete lighter was invented before the match']
var i = 0;
function start() {
while (i < 20) {
setTimeout(function(){document.getElementById('content').innerHTML = factsArray[Math.floor(Math.random() * factsArray.length)];}, 3000);
i = i + 1;
}
setTimeout(function(){document.getElementById('content').innerHTML = "Sixty seconds are up! Go and post!";}, 3000);
}
それが私のコードです。これまでのところ、配列から 1 つのアイテムのみが表示され、そこで停止します。
私がやりたいことは、factsArray から 3 秒ごとに 1 つのファクトを表示し、60 秒が経過すると、「60 秒が経過しました! Go and post!」と表示されます。
コードが 3 秒ごとに 1 つではなく、1 つのファクトのみを表示するのはなぜですか?