以编程方式设置值时的 jQuery-ui slider 动画

标签 jquery jquery-ui settimeout

我正在使用 jQuery-ui slider以及一些用于快速选择一组值的按钮。

当用户单击这些按钮之一时, slider 将通过 .slider 方法设置为相应的值:

$("#mySlider").slider("value", myValue);

这工作正常,但我想看看滑动动画。我尝试过

$("#mySlider").slider({value:myValue, animate:true})

但它没有按预期工作,因为只有当用户稍后单击 slider 时才会启用动画。

我应该使用 setTimeout 编写一个函数来实现我想要的功能,还是有更高级别的方法使用 jQuery 来实现此目的?

最佳答案

这是一个 jsfiddle 说明解决方案:http://jsfiddle.net/exXLV/8/

技巧似乎是创建一个 slider 并将其 animate 选项设置为 trueslow 等。之后,您应该通过 $("#slider").slider('value', 150);

设置 slider 的值

请注意使用 .slider('value', 150) 语法(“value”函数)和使用 .slider({value:myValue, animate:true }) 语法(“选项”函数)。

HTML:

<h1>HTML Slider Test</h1>

<div id="slider"></div>

<p>Your slider has a value of <span id="slider-value"></span></p>

<button type="button">Set to 150</button>

JS:

$("#slider").slider(
{
            value:100,
            min: 0,
            max: 500,
            step: 1,
            animate: "slow",
            slide: function( event, ui ) {
                $( "#slider-value" ).html( ui.value );
            }
}
);

$( "#slider-value" ).html(  $('#slider').slider('value') );


$("button").click( function(){
    $("#slider").slider('value', 150);
});

关于以编程方式设置值时的 jQuery-ui slider 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10608314/

相关文章:

JavaScript 计时器未更新

javascript - 在Javascript中轮询本地值的首选方式?

javascript - 如何确定变量是 'undefined' 还是 'null' ?

javascript - 西蒙一一说动画麻烦

jQuery Ui 对话框按钮,如何添加类?

reactjs - React 在异步回调中记住值

javascript - 为拖放区中的选择创建唯一 ID

javascript - 使用 jQuery 向文本框添加属性

javascript - jquery datepicker getTime 不是 UTC

弹出窗口的 JavaScript/Jquery 碰撞检测