import gsap from 'gsap';
export default {
name: 'page-transition',
mode: 'out-in',
onEnter: (el, done) => {
console.log('enter');
done();
},
onBeforeLeave: el => {
console.log(el);
console.log('before leave');
const transitionLayer = document.getElementById('transitionLayer');
gsap.set(transitionLayer, {
height: 0,
top: 'auto',
bottom: 0
});
gsap.to(transitionLayer, {
height: '100%',
duration: 1,
ease: 'power2.out'
});
},
onLeave: (el, done) => {
console.log('leave');
const transitionLayer = document.getElementById('transitionLayer');
gsap
.timeline({
delay: 1,
onStart: () => {
done();
gsap.set(transitionLayer, {
top: 0,
bottom: 'auto'
});
}
})
.to(transitionLayer, {
height: 0,
duration: 0.5,
ease: 'power2.inOut'
});
}
};
import gsap from 'gsap';
export default {
name: 'page-transition',
mode: 'out-in',
onEnter: (el, done) => {
console.log('enter');
done();
},
onBeforeLeave: el => {
console.log(el);
console.log('before leave');
const transitionLayer = document.getElementById('transitionLayer');
gsap.set(transitionLayer, {
height: 0,
top: 'auto',
bottom: 0
});
gsap.to(transitionLayer, {
height: '100%',
duration: 1,
ease: 'power2.out'
});
},
onLeave: (el, done) => {
console.log('leave');
const transitionLayer = document.getElementById('transitionLayer');
gsap
.timeline({
delay: 1,
onStart: () => {
done();
gsap.set(transitionLayer, {
top: 0,
bottom: 'auto'
});
}
})
.to(transitionLayer, {
height: 0,
duration: 0.5,
ease: 'power2.inOut'
});
}
};