jqueryUI スライダーに 2 つのハンドルを設定しました。その変更イベント ハンドラは次のようになります。
change: function(event, ui){
$("#priceFilterForm").submit();
},
1 つのハンドルが動かされるとすぐにフォームを起動します。
変更イベント ハンドラを次のように動作させたい:
- 変更イベントが発生した場合は、3 秒間待機します
- 別の変更イベントが発生した場合は、3 秒のタイマーをリセットします
- 3 秒以内に他の変更イベントがない場合は、フォームを送信します
その動作を実現する方法についてのテクニックを教えてください。
解決策はGarryに感謝します:
var timer = $.timer(function(){
$("#priceFilterForm").submit();
});
// slider options:
slide: function(event, ui){
timer.pause();
// ...
},
change: function(event, ui){
timer.stop(); // Not sure if stop is needed here..
timer.set({ time : 1500, autostart : true });
}
+ タイマー プラグインを JavaScript に含めることを忘れないでください