image section fix
This commit is contained in:
@@ -22,51 +22,48 @@ let ctx;
|
|||||||
let flipCtx;
|
let flipCtx;
|
||||||
|
|
||||||
const createTween = () => {
|
const createTween = () => {
|
||||||
ScrollTrigger.getAll().forEach((trigger) => trigger.kill());
|
const galleryElement = gallery.value;
|
||||||
|
const galleryItems = galleryElement.querySelectorAll(".gallery__item");
|
||||||
|
|
||||||
let galleryElement = gallery.value;
|
galleryElement.classList.add("gallery--final");
|
||||||
let galleryItems = galleryElement.querySelectorAll(".gallery__item");
|
const state = Flip.getState(galleryItems);
|
||||||
|
|
||||||
flipCtx && flipCtx.revert();
|
|
||||||
galleryElement.classList.remove("gallery--final");
|
galleryElement.classList.remove("gallery--final");
|
||||||
|
|
||||||
flipCtx = gsap.context(() => {
|
const flip = Flip.to(state, {
|
||||||
galleryElement.classList.add("gallery--final");
|
simple: true,
|
||||||
const state = Flip.getState(galleryItems);
|
ease: "expoScale(1,5)",
|
||||||
galleryElement.classList.remove("gallery--final");
|
});
|
||||||
|
|
||||||
const flip = Flip.to(state, {
|
gsap
|
||||||
simple: true,
|
.timeline({
|
||||||
ease: "expoScale(1,5)",
|
|
||||||
});
|
|
||||||
|
|
||||||
const tl = gsap.timeline({
|
|
||||||
scrollTrigger: {
|
scrollTrigger: {
|
||||||
trigger: galleryElement,
|
trigger: galleryElement,
|
||||||
start: "center center",
|
start: "center center",
|
||||||
end: "+=100%",
|
end: "+=100%",
|
||||||
scrub: true,
|
scrub: true,
|
||||||
pin: galleryElement.parentNode,
|
pin: galleryElement.parentNode,
|
||||||
|
invalidateOnRefresh: true,
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
|
.add(flip);
|
||||||
tl.add(flip);
|
|
||||||
}, section.value);
|
|
||||||
};
|
};
|
||||||
onUnmounted(() => {
|
|
||||||
ctx.revert();
|
|
||||||
flipCtx?.revert();
|
|
||||||
|
|
||||||
ScrollTrigger.getAll().forEach((trigger) => trigger.kill());
|
onMounted(() => {
|
||||||
|
ctx = gsap.context(() => {
|
||||||
|
createTween();
|
||||||
|
|
||||||
window.removeEventListener("resize", createTween);
|
window.addEventListener("resize", () => {
|
||||||
|
ScrollTrigger.refresh();
|
||||||
|
});
|
||||||
|
}, section.value);
|
||||||
|
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
ScrollTrigger.refresh();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
ctx.revert();
|
ctx?.revert();
|
||||||
flipCtx?.revert();
|
|
||||||
|
|
||||||
window.removeEventListener("resize", createTween);
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
|
|||||||
Reference in New Issue
Block a user