Javascript 设置范围滑块';s最小处理程序值

Javascript 设置范围滑块';s最小处理程序值,javascript,algorithm,Javascript,Algorithm,在我的应用程序中,我有一个范围滑块-输入组合组件: 用户可以使用滑块或输入更改范围。最大范围为最小值的30%,例如:如果最小值为1000,则最大范围可以为300。因此,如果用户将最大值移动到1400,滑块将其最小值调整为1100 另一个示例是,如果用户将最大值拖动到8000,则滑块的最小范围值将为6200。由于滑块步长为100,因此范围值将四舍五入到最接近的100整数 现在我无法解决的问题是: 如果用户直接通过输入设置最大值(因为它应该是最小值的30%),如何计算最大范围?这就是我的应用程序

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

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

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

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

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

你知道我该如何解决这个问题吗

编辑: 这就是它目前的实施方式:

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

如果我理解正确,您希望根据最大值计算最小值,如果最大值是通过用户输入设置的

在对范围滑块值进行舍入时,可以基于“最大值”计算“最小值”,如下所示:

max-(0.233/100)*max

当然,只有在“最大值”发生变化时,才应这样计算。
这个解不是完美的,而是近似的。希望它能起作用。

到目前为止你都试过什么?我们不知道您的组件是如何实现的我不知道您的问题是什么,如果您可以在拖动滑块时计算最小值,为什么不能在通过输入更改时使用完全相同的方法?(或者更简单地通过拖动新值触发更改)