Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JqueryUI滑块允许更改事件处理程序等待另一个更改事件_Javascript_Jquery Ui - Fatal编程技术网

Javascript JqueryUI滑块允许更改事件处理程序等待另一个更改事件

Javascript JqueryUI滑块允许更改事件处理程序等待另一个更改事件,javascript,jquery-ui,Javascript,Jquery Ui,我用两个手柄设置jqueryUI滑块。其“更改”事件处理程序如下所示: change: function(event, ui){ $("#priceFilterForm").submit(); }, 只要移动一个句柄,它就会触发窗体 我希望更改事件处理程序的行为如下: change: function(event, ui){ $("#priceFilterForm").submit(); }, 如果触发更改事件,请等待3秒钟 如果触发了另一个更改事件,请重置3秒计时器 如

我用两个手柄设置jqueryUI滑块。其“更改”事件处理程序如下所示:

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
,或者只是了解它的工作原理:除了使用不同的输入侦听器之外,这个想法与您的想法完全相同。