0
d3.select('#ggrade')
.call(
d3.slider()
.value(g_grade)
.max(100)
.step(1)
.axis(true)
.on("slide", function(evt,value) {
d3.select('#nodes').text(value);
if (100 < value + f_grade+ d_grade + e_grade){
value = 100-f_grade-d_grade-e_grade;
console.log(value)
}
else { g_grade = value;}
graphdata = [["D", "E", "F", "G"], [e_grade, d_grade, f_grade, g_grade]]
change(randomData());
updateweight();
}
)
);
我的问题是如何在检查是否触及几个参数之后重写.value(g_grade)。我尝试在.on()函数调用后添加“.value(g_grade)”,但是这引发了域错误。如何覆盖D3函数中的.value()
基本上我有4个滑块,我试图确保他们的总和不超过100,因为它是一个百分比组成。不知道我做错了什么。
嗯,我只是去尝试但它引发了一个错误,说d3(...)。值不是一个函数。我知道我所要做的就是访问.value元素并手动重新分配它,但是完全不知道如何去做。 – a1letterword
用示例更新了答案 –
现在可以正确处理文本更新。谢谢!你似乎比我更了解这一点,但是有没有办法让滑块不能移动?随着你在那里的文本和内部值将保持最大值,但滑块位置将继续移动。我尝试设置newPos和pos,但这并不奏效。 – a1letterword