GSAP / Java Script

אנימציית סרטון נחשף בגלילה באלמנטור

אפקט גלילה מדהים שמושלם לסרטוני תדמית, והופך אותם לחוויה אינטראקטיבית מרשימה!

html
<style>
     .mask-video {
  --mask-size:20vw; /*גודל החור בהתחלה*/

  -webkit-mask-image: radial-gradient(circle var(--mask-size) at 50% 50%, black 0%, black 50%, transparent 50%, transparent 100%);
  
  mask-image:radial-gradient(circle var(--mask-size) at 50% 50%, black 0%, black 50%, transparent 50%, transparent 100%);

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: all 0s;
  overscroll-behavior: none !important;
}

.blur {
  backdrop-filter: blur(5px); /*מידת הטשטוש של קונטיינר הזכוכית הפנימי*/
  transform: scale(1);
  opacity: 1;
}


@media(max-width:767px){
   .mask-video {
  --mask-size: 200px; /*גודל החור במובייל*/
   }
}

</style>

<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);

  let tl = gsap.timeline({
    scrollTrigger: {
      trigger: ".mask-video",
      start: "top top",
      end: "+=800",
      scrub: 1,
      pin: true,
      markers: true,
    }
  });

  tl.to(".mask-video", {
    "--mask-size": "250vw",
    ease: "none"
  }, 0)

  .to(".blur", {
    scale: 0,
    opacity: 0,
    ease: "none"
  }, 0);
});
</script>