JqueryUI Slider让更改事件处理程序等待另一个更改事件

时间:2013-02-04 17:33:07

标签: javascript jquery-ui

我设置了带有两个手柄的jqueryUI滑块。它的'change event handler看起来像这样:

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中

1 个答案:

答案 0 :(得分:0)

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

演示

http://jchavannes.com/jquery-timer/demo

下载

http://code.google.com/p/jquery-timer/downloads/detail?name=jquery-timer.zip 查看来源

http://code.google.com/p/jquery-timer/source/browse/