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