Horizontal Scroll
Scroll
GSAP
ScrollTrigger
JS
CMS
Preview Links
Custom JS
Enable custom code in preview or view on published site.
Enable custom code?
Last Updated: Nov 12, 2025
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollTrigger.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
gsap.registerPlugin(ScrollTrigger);
document.querySelectorAll(".scroll-5_component").forEach((component) => {
if (component.hasAttribute("data-scroll-5")) return;
component.setAttribute("data-scroll-5", "");
const container = component.querySelector(".scroll-5_container");
const track = component.querySelector(".scroll-5_track");
if (!container || !track) return;
const update = () => component.style.setProperty("--track-size", `${track.offsetWidth - container.offsetWidth}px`);
update();
let width = window.innerWidth;
window.addEventListener("resize", () => window.innerWidth !== width && (width = window.innerWidth, update()));
let tl = gsap.timeline({
scrollTrigger: {
trigger: component,
start: "top top",
end: "bottom bottom",
scrub: true,
},
});
tl.fromTo(component, { "--progress": 0 }, { "--progress": 1, ease: "none" });
});
});
</script>