在我的应用程序中,我有一个范围 slider - 输入组合组件:
用户可以使用 slider 或输入更改范围。最大范围是最小值的 30%,例如:如果最小值是 1000,则最大范围可以是 300。因此,如果用户将最大值移动到 1400, slider 会将其最小值调整为 1100。
另一个示例,如果用户将最大值拖动到 8000,则 slider 最小范围值为 6200。由于 slider 步长为 100,因此范围值将四舍五入到最接近的百整数。
现在我无法解决的问题是:
如果用户直接通过输入设置最大值(因为它应该是最小值的 30%),如何计算最大范围?这就是我的应用程序现在处理这种情况的方式(它使用在应用程序初始化时设置的初始 300 范围):
知道如何解决这个问题吗?
编辑: 这是目前的实现方式:
- 如果值(最小值/最大值)发生变化,应用将计算
最大值 - 最小值
范围 - 最大允许范围的计算方式为
(0.3/100) * min
- 如果超出允许范围,请将最小值设置为
max - (0.3/100) * min
最佳答案
如果我理解正确的话,如果最大值是通过用户输入设置的,那么您想根据最大值计算最小值。
无论如何,当您对范围 slider 值进行舍入时,您可以根据最大值计算最小值,如下所示:
最大值 - (0.233/100) * 最大值
。
当然,只有当最大值改变时才应该这样计算。 这个解决方案并不完美,只是一个近似值。希望它能起到作用。
关于javascript - 设置范围 slider 的最小处理程序值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59716878/