jquery ui slider - 忽略/不逐步递增[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery ui slider - 忽略/不逐步递增[重复]相关的知识,希望对你有一定的参考价值。

可能重复: jQuery UI Slider - max value (not end of slider)

我正在为我的ui滑块使用非线性增量:

 $(function() {
    var trueValues = [5, 10, 20, 50, 100, 150, 165];
    var values =     [10, 20, 30, 40, 60, 90, 100];
    var slider = $("#parkSlider").slider({
        orientation: 'horizontal',
        range: "min",
    value: 40,
        slide: function(event, ui) {
            var includeLeft = event.keyCode != $.ui.keyCode.RIGHT;
            var includeRight = event.keyCode != $.ui.keyCode.LEFT;
            var value = findNearest(includeLeft, includeRight, ui.value);
            slider.slider('value', value);


        $("#amount").val(getRealValue(value));

            return false;
        },

    });
    function findNearest(includeLeft, includeRight, value) {
        var nearest = null;
        var diff = null;
        for (var i = 0; i < values.length; i++) {
            if ((includeLeft && values[i] <= value) || (includeRight && values[i] >= value)) {
                var newDiff = Math.abs(value - values[i]);
                if (diff == null || newDiff < diff) {
                    nearest = values[i];
                    diff = newDiff;
                }
            }
        }
        return nearest;
    }
    function getRealValue(sliderValue) {
        for (var i = 0; i < values.length; i++) {
            if (values[i] >= sliderValue) {
                return trueValues[i];
            }
        }
        return 0;
    }
});

我想忽略165处的值,而不是步进到该增量 - 所以滑块最多只能达到150,尽管150不是滑块的最大值。

图形可以更好地解释:

我希望滑块手柄的位置停在150的值,而不是步进到165值。 (我知道我可以设置滑块的最大值,但这是错误的行为,因为滑块手柄延伸超过150刻度线)

答案

在滑块选项中:

slide: function(event, ui) {
    if (ui.value > 150) {
        return false;
    }
}  

以上是关于jquery ui slider - 忽略/不逐步递增[重复]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI Slider 重置动画

处理之前的 jQuery UI Slider 样式

jQuery UI Slider - 手柄和滚动内容的动画不同步

可在 Slick-slider 中拖动的 jQuery UI

jQuery UI Slider对数刻度

jQuery-ui slider - 如何阻止两个滑块相互控制