Maybe something like this:
// Mark section as loading
let introLoading = true;
gsap.timeline({
ease: "power2.out",
scrollTrigger: {
trigger: '#section-intro',
pin: '.wrap',
start: "top top",
scrub: 0.25,
snap: false,
onEnter: self => {
// Mark as loaded after first time enter event is fired
// Would be same as on init
if ( introLoading )
{
// Mark as init after 1000ms
setTimeout( () => {
introLoading = false;
}, 1000);
}
},
}
});