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%を超えないようにしようとしています。私が間違っていることを確信していない。例えば、再び呼び出すことができます変数、およびslideendで撮影されたイベントとして保存されている場合
うーん、私はちょうどそれを試してみましたそれはd3(...)。valueは関数ではないというエラーを出しました。私は、.value要素にアクセスして手作業で再割り当てするしかないが、それを行う方法を完全に困惑していた。 – a1letterword
例文 –
で解答を更新しました。ありがとうございました!あなたはこれよりずっと優れているようですが、スライダを動かさないようにする方法はありますか?あなたが持っているものでは、テキストと内部値は最大値を維持しますが、スライダの位置は引き続き移動します。私はnewPosとposを設定しようとしましたが、それはうまくいきませんでした。 – a1letterword