javascript - 设置范围 slider 的最小处理程序值

标签 javascript algorithm

在我的应用程序中,我有一个范围 slider - 输入组合组件:

enter image description here

用户可以使用 slider 或输入更改范围。最大范围是最小值的 30%,例如:如果最小值是 1000,则最大范围可以是 300。因此,如果用户将最大值移动到 1400, slider 会将其最小值调整为 1100。

enter image description here

另一个示例,如果用户将最大值拖动到 8000,则 slider 最小范围值为 6200。由于 slider 步长为 100,因此范围值将四舍五入到最接近的百整数。

现在我无法解决的问题是:

如果用户直接通过输入设置最大值(因为它应该是最小值的 30%),如何计算最大范围?这就是我的应用程序现在处理这种情况的方式(它使用在应用程序初始化时设置的初始 300 范围):

enter image description here

知道如何解决这个问题吗?

编辑: 这是目前的实现方式:

  • 如果值(最小值/最大值)发生变化,应用将计算最大值 - 最小值范围
  • 最大允许范围的计算方式为(0.3/100) * min
  • 如果超出允许范围,请将最小值设置为 max - (0.3/100) * min

最佳答案

如果我理解正确的话,如果最大值是通过用户输入设置的,那么您想根据最大值计算最小值。

无论如何,当您对范围 slider 值进行舍入时,您可以根据最大值计算最小值,如下所示:

最大值 - (0.233/100) * 最大值

当然,只有当最大值改变时才应该这样计算。 这个解决方案并不完美,只是一个近似值。希望它能起到作用。

关于javascript - 设置范围 slider 的最小处理程序值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59716878/

相关文章:

algorithm - 如何高效构建连通图?

javascript - 如果返回的数据是 javascript,$.ajax 会自动执行脚本吗?

javascript - Gulp 构建任务在 docker 内失败

javascript - jQuery:如何检测仅在某些元素上按下箭头键

c++ - 快速排序的改进

java - 检查邻接矩阵中的循环?

JavaScript 添加参数到 url

javascript - 需要播放/停止按钮 javascript 帮助

python-3.x - 贪心算法和时间复杂度#2

string - 除了 Knuth-Morris-Pratt、Rabin-Karp 之类的,还有哪些可用的字符串匹配算法?