クリックした後にsetTimeout()
に電話します。JavaScriptタイマー
300ms
が経過する前にユーザーが再度クリックすると、そのタイマーを停止し、別の機能をオフにして元のタイマーを再起動します。
私は約setTimeout()
を知っていますが、この問題にどう対処するかはわかりません。
クリックした後にsetTimeout()
に電話します。JavaScriptタイマー
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にも適用されることに注意してください。 addEventListenerをして
myInterval = setInterval(function() {
// do stuff every 300ms
},300);
clearInterval(myInterval); // stop the interval
:
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);
私はまさにあなたがやりたいことはしませんでした...しかし、これがあなたを助けるでしょう。
しないでください! 'setTimeout(" ")' [W3Fools](http://w3fools.com/#js_timing) –
イベントリスナーを追加するとどうなりますか? –
更新された回答、これはあなたを開始する必要があります。幸運 – jmort253
jmort253あなたは本当に親切でしたが、ここで私は何をしたいですか私はちょうどクリックした場合、300ミリメートルの後に表示されるようにしたいですが、私はクリックしてマウスをドラッグすると、私はそれを追加して削除することができるように、私はハンドラでもこれをやりたいと思っています。 –