【发布时间】:2020-04-30 04:21:26
【问题描述】:
在我的应用中,我有一个范围滑块 - 输入组合组件:
用户可以使用滑块或输入来更改范围。最大范围为最小值的 30%,例如:如果最小值为 1000,则最大范围可以为 300。因此,如果用户将最大值移动到 1400,则滑块会将其最小值调整为 1100。
另一个例子,如果用户将最大值拖到 8000,滑块的最小范围值为 6200。由于滑块步长为 100,范围值四舍五入到最接近的百整数。
现在我无法解决的问题:
如果用户直接通过输入设置最大值(因为它应该是最小值的 30%),我如何计算最大范围?这就是我的应用程序现在处理这种情况的方式(它使用在应用程序初始化时设置的初始 300 范围):
知道如何解决这个问题吗?
编辑: 这是目前的实现方式:
- 如果值(最小值/最大值)发生变化,应用程序将计算范围
max - min - 计算最大允许范围
(0.3 / 100) * min - 如果范围超出允许范围,设置最小值为
max - (0.3 / 100) * min
【问题讨论】:
-
到目前为止你尝试过什么?我们不知道您的组件是如何实现的
-
我不明白你的问题是什么,如果你可以在拖动滑块时计算最小值,为什么在通过输入更改时不能使用完全相同的方法? (或者更简单,通过拖动新值触发更改)
标签: javascript algorithm