0

我有三个表盘:D1、D2 和 D3。它们的值应始终为 100%,默认值分别为 50%、25% 和 25%。

当用户编辑 D2 或 D3 时,D1 应作为第一个从中提取和存款的罐。

问题来了:如果可编辑刻度盘增加到超过 D1 保留点怎么办?我需要找到一种方法,让表盘上的剩余拉力此时不被编辑。

我想我正在寻找一种优雅的解决方案,而不是 hack。有人有这样的解决方案吗?

http://jsfiddle.net/cborgia/ByWCA/

4

1 回答 1

0

您要做的是求解三个函数的方程,例如:

X + Y +  Z = K;

在哪里:

X = x + a(dx)
Y = y + b(dy)
Z = z + c(dz)
K = 100

  1. a,bc函数
  2. x,yz是旋钮的当前值和
  3. dx,是旋钮值的dy变化dz

函数在给定 K(始终为 100)的值和XYZ其中之一 的情况下求解XY并且Z在 0 到 100 的范围内。

您没有说应该发生什么XY并且Z接近 0 或 100 - 它们是否按比例减少,或者是否将多余或不足应用于其他非用户调整的旋钮?

于 2012-08-06T00:53:47.380 回答