ユーザーがUP矢印を5回クリックできるように、別々のstartTimeとendTimeが記録されるたびに必要です。したがって、コンソールは返答の速さを返します(msResponse)。私のforループは入力に対して一度だけプロンプトを出すのはなぜですか?
for (var i = 0; i < 5; i++) {
var startTime = new Date().getTime();
document.addEventListener("keydown", function touch(e) {
switch (e.keyCode) {
case 38:
var endTime = new Date().getTime();
var msResponse = endTime - startTime;
console.log(msResponse);
document.removeEventListener("keydown", touch);
break;
}
})};
私はループがUP矢印をクリックして私に5回を促すメッセージが表示されますことを期待しています。新しいstartTimeとendTimeを設定するたびに。
ただし、UP矢印を最初にクリックすると5回ループし、msResponseは各ループの繰り返しで少しずつ増加します。
誰かがこれを少し理解するのを助けることができたら、それはすばらしいでしょう!
多くの感謝!
'addEventListener'はプロンプトではありません。キーが押されるたびに実行される関数を追加し、スクリプトの実行を待機している間はスクリプトを一時停止しません。 1つのリスナーを追加し、5回押した後にリスナーを削除するだけです。 – Ryan