我初始化了一个 jQuery 滑块,然后根据 json 请求的内容动态设置最小最大值。步数平均为 100,最小最大步数会重新计算为甚至一百,大多数情况下介于 300 到 4800 之间。
滑块值和设置都很好,但是当我移动手柄时,我无法将其一直拉到底,它会在距离最小/最大值几步之遥时停止。这是为什么?
我已经尝试了各种方法,但没有任何效果。我最终在最高值处加上 200,并在较低值处减去 200 来进行补偿,但这是一种 hack,而不是解决方案。
在“幻灯片”回调中,尝试使用 ui.value 来获取值。这解决了我的问题。看 jQuery UI 滑块 - 无法滑动到 0,除非不按答案,而是按答案的注释。
我意识到这个问题已有 5 年历史了,但我今天刚刚遇到了类似的问题。我有一个有很多步长的短滑块,它从 0 到 1,步长为 0.01。滑块手柄会在碰到最外面的台阶之前撞到滑块的末端,所以我只能下降到 0.02 和上升到 0.98。
如果有人遇到这个问题,一个快速的解决方法就是简单地让你的最小值和最大值比应有的值稍微远一点,并在用户滑过它们时调整你的值。
('.slider-container').slider({
min: -0.02, max: 1.02, step: 0.01, slide: function () {
// make values below 0 and over 1 snap back
if ($(this).slider('value') < 0) {
$(this).slider('value', 0);
}
if ($(this).slider('value') > 1) {
$(this).slider('value', 1);
}
});
我对这些设置也有类似的问题
min: 35000.74
max: 150000
step: 1 //(default, did not actually change it)
滑块仅移动至 149999.74。当然,就我而言,问题是给定步骤 1 和未均匀划分为这些步骤的范围,使用滑块永远无法达到最终值之一。
将最小值更改为 35000 (Math.floor()),一切都非常顺利。
这是由于“step”默认的增量对于滑块来说太大而引起的。设置“step=0.01”或任何适合您的程序的增量。