在我的附件fiddle中,我创建了三个单独的D3滑块,其值(Weight1,Weight2和Weight3,所有小数在0和1之间)以百分比形式呈现给用户。将这些值视为百分比加权。这里的三个滑块中的每一个都有独立的“因子移动”。用于控制其移动和更新百分比值的功能。
在代码中,您会找到:
d3.behavior.drag()
然而,我一直在努力的是在这些函数中添加一个部分来调整其他两个,使得所有三个值加起来达到100%。
以下是一个例子:
滑块1,2和3分别以33%开始,因此每个滑块占总数的三分之一。
滑块1移动到50%。
滑块2和3都应自动降低到25%,以便滑块值加起来为100(50 + 25 + 25)。
我认为这将涉及在函数中添加一个部分:
if (Weight1 + Weight2 + Weight3 != 1)
// Code...
然而,到目前为止我所尝试的并没有成功。这会涉及改变小提琴中的FactorMove函数吗?
任何提示都会受到赞赏,因为我是D3的新手。提前谢谢!