Javascript JqueryUI滑块允许更改事件处理程序等待另一个更改事件
我用两个手柄设置jqueryUI滑块。其“更改”事件处理程序如下所示:Javascript JqueryUI滑块允许更改事件处理程序等待另一个更改事件,javascript,jquery-ui,Javascript,Jquery Ui,我用两个手柄设置jqueryUI滑块。其“更改”事件处理程序如下所示: change: function(event, ui){ $("#priceFilterForm").submit(); }, 只要移动一个句柄,它就会触发窗体 我希望更改事件处理程序的行为如下: change: function(event, ui){ $("#priceFilterForm").submit(); }, 如果触发更改事件,请等待3秒钟 如果触发了另一个更改事件,请重置3秒计时器 如
change: function(event, ui){
$("#priceFilterForm").submit();
},
只要移动一个句柄,它就会触发窗体
我希望更改事件处理程序的行为如下:
change: function(event, ui){
$("#priceFilterForm").submit();
},
- 如果触发更改事件,请等待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中包含计时器插件
var timer = $.timer(function() {
alert('This message was sent by a timer.');
});
timer.set({ time : 5000, autostart : true });
timer.set(options);
timer.play(reset); // Boolean. Defaults to false.
timer.pause();
timer.stop(); // Pause and resets
timer.toggle(reset); // Boolean. Defaults to false.
timer.once(time); // Number. Defaults to 0.
timer.isActive // Returns true if timer is running
timer.remaining // Remaining time when paused
演示
下载
视图源
您可以查看jQuery hoverIntent插件,或者尝试为
修改它。更改而不是。hover
,或者只是了解它的工作原理:除了使用不同的输入侦听器之外,这个想法与您的想法完全相同。