使用updateOptions后重置noUiSlider

时间:2018-05-09 18:23:27

标签: javascript jquery nouislider

我正在使用noUISlider的updateOptions函数来更新滑块的开始和范围选项。更新值并与滑块交互后,我使用noUISlider.reset()来重置滑块。但是,使用reset时,它将重置为create()状态期间设置的值而不是updateOptions值。之前有没有人遇到过类似的问题?为什么不重置()将滑块更新为新的start值?

代码

    var slider = document.getElementById('price-slider');

    if (slider.noUiSlider == undefined)
    {
        noUiSlider.create(slider, {
            start: [min_total_price, max_total_price],
            connect: true,
            range: {
                'min': min_total_price,
                'max': max_total_price
            },
            step: 1,
            format: {
                to: function (value) {
                    return Math.floor(value);
                },
                from: function (value) {
                    return Math.floor(value);
                }
            }
        });
    }
    else
    {
        slider.noUiSlider.updateOptions({
            start: [min_total_price, max_total_price],
            range: {
                'min': min_total_price,
                'max': max_total_price
            }
        });
    }



    $(".reset").click(function() {
           slider.noUiSlider.reset(); // Why is this not resetting to updateOptions values?

    }

1 个答案:

答案 0 :(得分:0)

reset返回在现有滑块实例上更新的值没有意义。我认为reset正在做着应该做的事情。

我没有得到您的情况下要执行的重置,还原最新更新,但保留以前的更新?您可以将最小值/最大值存储在某些全局变量或窗口属性中,这样,您可以完全控制它们,您可以随时分配值并随时删除值。单击该按钮,只需将现有滑块实例更新为已存储的值。