setTimeout()
クリックが発生した後に呼び出したい。
ユーザーが経過する前にもう一度クリックした場合、300ms
そのタイマーを停止し、別の機能を起動して、元のタイマーを再起動します。
私は知ってsetTimeout()
いますが、この問題にアプローチする方法がわかりません。
setTimeout()
クリックが発生した後に呼び出したい。
ユーザーが経過する前にもう一度クリックした場合、300ms
そのタイマーを停止し、別の機能を起動して、元のタイマーを再起動します。
私は知ってsetTimeout()
いますが、この問題にアプローチする方法がわかりません。
JavaScript:
myTimeout = setTimeout(function() {
// this will fire in 300ms if you don't perform some other action!
},300);
document.getElementById("button").click = function() {
// button clicked, stop the timeout
clearTimeout(myTimeout);
};
HTML:
<button id="button">Click me</button>
setTimeout は 300ms タイマーを開始します。クリック ハンドラーはクリック イベントをページ上のボタンにバインドします。このボタンがクリックされると、clearTimeout を使用してタイマーが停止します。
setTimeout を呼び出すときは、変数に割り当てます。その後、その変数を使用して、後で clearTimeout を呼び出してタイマーを停止できます。
キープレス、マウスオーバー イベント、ボタンまたは DOM 要素のクリックなど、あらゆるイベントで同じ手法を使用できます。
同じ手順が setInterval にも適用されることに注意してください。
myInterval = setInterval(function() {
// do stuff every 300ms
},300);
clearInterval(myInterval); // stop the interval
addEventListener を使用:
function start() {
window.addEventListener("click", function() {
timeout = setTimeout(function() {
// do stuff after 300ms after the first click
clearTimeout(timeout);
start();
}, 300)
}, false);
}
上記は、ページにグローバルクリックリスナーをバインドし、クリック後にタイマーを再帰的にクリアして再起動する必要があります。クリックがない場合、リスナーは停止しますが、これで開始できるはずです。
これにはタイムアウトを使用できると思います... window.setTimeout("", 300);
私はあなたが何をしたいのか正確にはわかりませんでした...しかし、これがあなたの助けになることを願っています.