0

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

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 中

4

1 回答 1

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/

于 2013-02-04T17:36:42.503 回答