jQuery UI Slider重置动画

时间:2012-02-29 00:32:02

标签: jquery user-interface slider jquery-animate

尝试创建一个滑块,滑回到开头,如果它没有被完全拖动...这里是不起作用的:

$("#slider").slider({
    animate: true,
    change: function(event, ui) {
        if ($(this).slider('value') < 100) {
            $(this).slider('value', 0);
        }
    }   
});

滑块向后移动,但瞬间没有动画。

2 个答案:

答案 0 :(得分:1)

在jquery ui 1.8.18中,你必须异步调用它:

$("#slider").slider({
   animate: true,
   stop: function(event, ui) {
     if($(this).slider('value') < 100) {
      setTimeout(function(){
         $("#slider").slider('value', 0);
      },1);
    }
  }   
});

答案 1 :(得分:1)

你走了:

$("#slider").slider({
    animate: true,
    stop: function(event, ui) {
        if(ui.value < 100) {
            setTimeout(function() {
                $("#slider").slider("value", 0);
            }, 100);
        }
    }   
});

这个小提琴也展示了一个例子:http://jsfiddle.net/chrisabrams/2xkvy/1/