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();
}
)
);
Ma question est de savoir comment remplacer la .value (g_grade) après avoir vérifié si elle touche quelques paramètres ou non. J'ai essayé d'ajouter ".value (g_grade)" après l'appel de la fonction .on(), mais cela a déclenché une erreur de domaine.Comment remplacer le .value() dans une fonction D3
Fondamentalement, j'ai 4 curseurs, et j'essaie de faire en sorte que leur somme ne dépasse pas 100, car c'est une composition en pourcentage. Je ne sais pas ce que je fais mal.
Hmmm, je viens essayé mais il a démarré une erreur qui disait d3 (...). value n'est pas une fonction. Je sais que tout ce que j'ai à faire est d'accéder à cet élément .value et de le réaffecter manuellement, mais complètement déconcerté sur la façon de le faire. – a1letterword
Mis à jour la réponse avec un exemple –
Qui a fonctionné les mises à jour de texte correctement maintenant. Je vous remercie! Vous semblez savoir mieux que moi, mais y a-t-il un moyen d'empêcher le curseur de bouger? Avec ce que vous avez là-haut, le texte et la valeur interne resteront au maximum, mais la position du curseur continuera à bouger. J'ai essayé de configurer les nouveaux Pos et Pos mais cela n'a pas fonctionné tout à fait. – a1letterword