私はここで狂っています。 マウスの移動に要素を表示し、マウスの最後の移動から10秒後に要素を非表示にしたい。無限ループwhile mousemove
私はこれを書いた:
document.addEventListener("DOMContentLoaded", function(event) {
var time = 0;
document.addEventListener("mousemove", function(event) {
console.log('$');
document.getElementsByClassName("mybar")[0].style.visibility = 'visible';
time = 0;
while (time < 11) {
setTimeout(function() {
time++
}, 1000);
console.log(time, time == 10);
if (time == 10) {
document.getElementsByClassName("mybar")[0].style.visibility = 'hidden';
}
}
});
});
<div class='mybar'>
<h1> TESTING </h1>
</div>
なぜそれが無限ループで終わるんか? なぜそれは状態で終了しないのですか?どうしてifは本当のパラメータを決して得られないのでしょうか? 通知:この方法で実行しないでください...あなたのタブを削除します。
あなたの目標は、ここでは何ですか?マウスがウィンドウ内を移動するたびにdivを10秒間表示しようとしていますか? – Turk
あなたは 'while'は必要ありません。 'setTimeout'はあなたのためのすべてのタイミングを行います。'n'ミリ秒後に何を呼び出すべきかを伝えるだけです。 – zero298
です。setTimeoutは非同期です。 – epascarello