On a la possibilité de donner des réglages par défaut à nos transitions en css ; ça permet d'alléger le javascript, et de contrôler les paramètres de la transition depuis le css.
Ici move_into(el, destEl) va utiliser une classe qui durera le temps de la
transition, qui s'appelera transition-deplacement. On pourra y stocker des
valeurs par défaut pour la transition. Par exemple,
el.style.top = "";
donnera à l'élément el la valeur top décrite dans le css. Comme el
appartient à la classe transition-deplacement qui dit que top = 0; eh ben
voilà.
Pour finir, toggle(el, destEl) utilisera une autre classe pour déterminer si
el a déjà été ouvert, la classe ouvert. Si oui, il le mettra dans le parent
direct de destEl.
Dans ce cas, on n'utilise même pas cette classe dans le css. Elle ne sert qu'à javascript.
Tous ces points sont dans le fichier javascript inclus dans la page à partir de là. Et maintenant le html et la prévisualisation :
bouger le div 1
texte de la cible
un div pour prendre un peu de place
texte de la flèche
{{< html_preview >}}