以编程方式指定滑块值时无法实现平滑处理动画-jQuery UISlider
我正在使用jQueryUISlider。我将其设置为,当用户停止滑动时,在执行事件slidestop ie时,一些代码将确定它是否高于或低于滑块范围内的给定值。然后,代码确定滑块最接近的给定值集中的哪一个,然后尝试将滑块控制柄移动到该点。所有这些基本上都运转良好。这是我的迪莱玛: 控制柄不会设置到新位置的动画,而是在那里跳跃。我正在使用这行代码移动手柄:以编程方式指定滑块值时无法实现平滑处理动画-jQuery UISlider,jquery,uislider,Jquery,Uislider,我正在使用jQueryUISlider。我将其设置为,当用户停止滑动时,在执行事件slidestop ie时,一些代码将确定它是否高于或低于滑块范围内的给定值。然后,代码确定滑块最接近的给定值集中的哪一个,然后尝试将滑块控制柄移动到该点。所有这些基本上都运转良好。这是我的迪莱玛: 控制柄不会设置到新位置的动画,而是在那里跳跃。我正在使用这行代码移动手柄: $("#navScroller").slider('value', newScrollerValue); 其中newScrollerValu
$("#navScroller").slider('value', newScrollerValue);
其中newScrollerValue是逻辑决定需要发送到的句柄的值
如果我在绑定到页面上某个元素的click事件中使用了同一行代码,但为其提供了newScrollerValue的测试值,则控制柄会按其应有的方式动画到新位置。但是将它放在slidestop事件的回调方法中会使它跳转到新位置,而不是平滑地设置动画
我希望这足以解释清楚。关于如何在slidestop事件中以编程方式指定值实现平滑控制柄动画的想法?在拖动控制柄期间,动画可能会在内部被禁用,请查看事件触发后是否可以在新上下文中执行该操作:
$("#navScroller").bind("slidestop", function (event, ui) {
setTimeout(function () {
//perform the required logic here
$("#navScroller").slider('value', newScrollerValue);
},10);
});
非常感谢你的快速回答。这正是问题所在,现在一切正常!