Thanks. I guess I should read more on this.
As for my GSAP code, the animation timeline is defined a little sooner :
var animation = gsap.timeline({paused: true, trigger: ".Strathcona"})
/*ma variable est associée à la fonction gsap timeline
qui contient elle même une autre variable nommée animation*/
animation
/*cette variable contient les diverses étapes qui composent mon animation. La première étape consiste en une méthode GSAP nommée .fromTo. Comme son nom l'indique, elle permet de définir un état de départ et un état d'arrivée d'un objet ici identifié par sa classe CSS, soit .titre. */
.fromTo(".titre", {x:0, y:0}, {autoAlpha:1, x:0, y:100, color: "red", ease: "back(6)", duration:3})
/*donc l'objet .titre a une position initiale définie par ses X et ses Y, soit son positionnement horizontal et vertical. Il a aussi une opacité initiale de zéro, donc il est au départ invisible. Il bouge ensuite verticalement de 100px vers le bas, et devient visible. Le tout pendant une durée de 3 secondes. Le dernier paramètre, ease, permet de définir le comportement, soit ici un effet de rebondissement*/
.to(".titre", {xPercent:100, duration:2})
/*suite à la complétion de la première animation, on fait disparaître .titre avec la méthode .to, qui l'envoie littéralement 100% plus loin le long de l'axe horizontal, de façon à ce qu'il disparaisse, et le tout prend 2 secondes.*/
ScrollTrigger.create({
trigger: ".Strathcona", /*c'est l'élément déclencheur*/
start: "top center", /*on définit où l'on veut que l'animation soit déclenchée, soit ici au milieu de la page*/
onEnter: () => {
this.map.flyTo([45.405, -71.892], 16),
this.map.removeLayer(basemap),
this.map.addLayer(osmBasemap),
this.Strathcona.addTo(map)},
onLeave: () => Strathcona.removeFrom(map),
onEnterBack: () => {
this.map.removeLayer(osmBasemap),
this.map.addLayer(basemap),
Strathcona.addTo(map)},
onLeaveBack: () => Strathcona.removeFrom(map)
})
My problem is on how to call it after the arrow function.
TL