J'essaie de trouver un moyen d'ajouter un nombre arbitraire d'éléments à une ligne de temps et, après les avoir ajoutés, de les exécuter tous en même temps. J'ai essayé d'appeler .pause() avant d'ajouter des éléments à la timeline et de les lire ensuite, mais ils commencent toujours avant que j'appelle lecture.
Ce que j'utilise actuellement est ci-dessous. J'ai 2 journaux de console pour imprimer l'heure, ce qui peut indiquer que le code fait réellement ce que je veux puisque le premier console.log imprime toujours 0. Le second imprime toujours 20. Je ne sais pas pourquoi nous sommes à 0 sur la première impression, car si la fonction .pause() ne fonctionne pas, pourquoi ne démarre-t-elle pas dès que j'ajoute un .to dans la boucle .each ?
expand: function(elems) {
var tl = new TimelineLite();
tl.pause();
elems.each(function() {
this.style.height = 'auto';
var Height = getComputedStyle(this).height;
this.style.height = 0;
tl.to(this, .1, {height:fullHeight}, 0);
tl.to(this, .5, {opacity:1}, .2);
});
var currentTime = tl.time();
console.log('the current tl time ' + currentTime);
currentTime = tl.time();
console.log('the current tl time 2' + currentTime);
tl.play();