événement de fin de transition d3.js
Je suis appliquer une transition à un groupe de nœuds retournés par selectAll()
. Je pensais que la fin de l'événement aurait le feu après toutes les transitions fini, mais each("end",function)
est appelée à la fin de chaque transition.
Donc est-il possible de définir une fonction de callback qui sera appelée après les transitions sur tous nœud sélectionné finitions ?
Dois-je utiliser call
pour cela? mais je ne vois pas utilisés comme fin de rappel n'importe où dans la documentation.
aussi, je peux utiliser un compteur à l'intérieur de each
de rappel. mais est-il possible de savoir combien de nœuds sont toujours en attente de finition de la transition ? ou de l'index du noeud courant dans le groupe de nœuds sélectionnés ?
J'ai deux appels à select() dans la chaîne comme selectAll('.partition').selectAll('.subpartition')
si l'indice argument transmis à chaque rappel de rotation n fois.
source d'informationauteur Dipro Sen
Vous devez vous connecter pour publier un commentaire.
Autant que je sache il n'est pas intégré dans la façon de savoir quand la dernière transition d'un groupe a fini, mais il ya des façons de contourner cela. Une façon que j'ai utilisé à plusieurs reprises implique le maintien d'un nombre de transitions qui ont fini.
Voici les liens vers la documentation:
Voici une méthode propre pour accomplir ce que vous voulez:
Vous pouvez facilement appeler cette fonction comme suit:
Ça va marcher, même si la transition est vide.
J'ai eu le même problème
que le retour d'appel est exécuté avec chaque élément
J'ai résolu que l'utilisation de souligner une fois la méthode
http://underscorejs.org/#once