jQuery UI滑块 - 无法滑动到0

rom*_*n m 12 javascript jquery jquery-ui slider

jQuery 1.3.2/jQueryUI 1.7/Slider

$("#slider").slider({
    range: "min",
    min: 0,
    max: 40,
    value: 0,
    slide: function(event, ui) {
        CalculateOrder(event, ui);
    }
});
Run Code Online (Sandbox Code Playgroud)

它开始就好了,但在我移动滑块后我无法将其恢复为0,ui.Value为1,当我一直滑到左边.

我试过设定

min:-1
Run Code Online (Sandbox Code Playgroud)

当我将它滑动到-1时,这会将ui.Value设置为-1,但是当我在0时,ui.Value仍为1.

有任何想法吗?

Sco*_*ott 20

您想要的是在滑块停止时获取值,而不是在滑动期间获取值.根据我的经验,幻灯片事件将为您提供滑块的先前位置.Stop将为您提供用户将其移动到的滑块的值.

$("#slider").slider({
    range: 'min',
    min: 0,
    max: 40,
    value: 1,
    step: 10,
    slide : function(event, ui){
        console.log("previous value:"+ $(this).slider('option', 'value'));
    },
    stop: function(event, ui){
        console.log("Current value:"+ $(this).slider('option', 'value'));
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 实际上,这一切都有微妙的差别(我自己也碰到了这个).您应该使用"ui.value"来获取幻灯片事件处理程序中的值.这将给你*current*值.如果通过向滑块询问其句柄值(例如.slider('value')或.slider('option','value')等)来获取它,您将获得之前的值.如果您试图在用户滑动手柄时动态更新标签,这很重要.总结:如果使用ui.value获取幻灯片事件处理程序中的值,则不需要使用停止事件处理程序. (20认同)