您可以做的最好的事情是设置最小值和最大值并重新应用该值。您可以通过几种方式做到这一点。但我所做的是创建一个 setMax 和 setMin 扩展方法来设置最小值和最大值。唯一的问题是我需要更改插件以扩展 $this 而不是 this,因为我的 setMin 和 setMax 扩展方法不可用。
所以改变这个...
$this.data('slider', (data = new Slider(this, $.extend({}, $.fn.slider.defaults,options))));
……到这……
$this.data('slider', (data = new Slider($this, $.extend({}, $.fn.slider.defaults,options))));
...在图书馆。如果您想添加自己的扩展方法。但是您仍然必须在扩展方法的库中或外部执行 setValue 。(setValue 计算滑块手柄的位置和滑块的布局)
所以你可以做这样的事情......
$('#sldOne').on('slideStop', function (ev) {
$('#sldTwo').slider('setMin', 0);
$('#sldTwo').slider('setMax', 4);
$('#sldTwo').slider('setValue', new Number($('#sldTwo').val()));
});
即在第一个滑块的slideStop 事件中设置第二个滑块的最小值和最大值。然后再次调用 setValue 重新做布局。