L'animation d'un personnalisé carrousel avec React.js

J'ai créé un carrousel avec React.js il était simple jusqu'à ce que je suis arrivé à l'animation problème. Le carrousel est classique, elle est composée de "slides" de contenu, de petites balles en indiquant la diapositive en cours, et de petites miniatures pour naviguer entre les diapositives.

Le carrousel composant est piloté par les données, ce qui signifie qu'il est passé à son contenu comme un tableau d'objets javascript. Chaque diapositive est un li balise à l'intérieur d'un ul, et juste à changer le margin-left propriété css de la ul pour passer d'une diapositive à l'autre.

Je me demandais si je devrais utiliser le ReactTransitionGroup ou ReactCSSTransitionGroup pour animer la transition d'une diapositive à l'autre. Fondamentalement, la transition est un effet de glissement de la gauche vers la droite lorsque vous passez d'une diapositive à l'autre.

Ma compréhension est que le ReactTransitionGroups de l'API est utile lors de l'ajout ou la suppression de certains contenus. Ici je ne vais pas ajouter/supprimer une diapositive, la vidange le visible avec une animation.

Ma difficulté enveloppant ma tête, c'est que j'ai développé un statique (aka sans animation) carrousel où la diapositive actuellement affichée est le seul état enregistrées dans le composant. Cet état est juste l'index de la diapositive dans le tableau de diapositives. Alors, quand je clique sur une vignette pour naviguer numéro de la diapositive n, la seule chose que je fais, c'est la mise à jour de cet état intérieur, alors le rendu prend soin de réglage de la left propriété de style basé sur cet indice.

Je ne vois pas comment je peux ajouter une animation à ce manège. Toute aide/conseil grandement apprécié.

Vous pouvez simplement utiliser CSS3 transitions sur la marge de gauche; la seule partie délicate, c'est quand vous êtes à la fin et que vous voulez aller à l'index 0.
Mmmh... La "fin" de la partie est déjà pris en charge dans mon code, donc ça devrait faire l'affaire. Merci !
Pourriez-vous partager votre code afin que d'autres puissent aussi en bénéficier..
C'est à code source fermé, pour un projet commercial. Mais il pourrait être abandonnée pour quelque chose d'autre. Si c'est le cas, je n'ai pas de problème de partage. Restez à l'écoute.
et donc, ce go? plus d'infos?

OriginalL'auteur DjebbZ | 2014-04-28