초짜코딩의 잡동사니

mouseeffect07 - 이미지 오버 효과 본문

Script Sample/mouse effect

mouseeffect07 - 이미지 오버 효과

초짜코딩 2022. 4. 18. 16:59
    <script>
        modal();
        tabMenu();

        const mouseImg = document.querySelectorAll(".mouse__img");

         mouseImg.forEach((item) => {   //item = mouseimg
            const imagWrap = item.querySelector(".img")
            const imageWrapBounds = imagWrap.getBoundingClientRect();   //위치값을 가져옴
            let itemBounds = item.getBoundingClientRect();  //item의 위치값

            const onMouseEnter = () => {    //마우스가 영역에 들어왔을때
                gsap.set(imagWrap, {xPercent: -50, yPercent: 50, rotation: -15, scale:0.3, opacity:0});   //set = 설정해주는거
                gsap.to(imagWrap, {xPercent: -50, yPercent: -50, rotation: -0, scale:1, opacity:1})
            }

            const onMouseLever = () => {    //마우스가 영역을 떠났을때
                gsap.to(imagWrap, {xPercent: -50, yPercent: -100, rotation: 15, scale: 0.3, opacity:0})
            }

            const onMouseMove = ({x, y}) => {     //마우스 움직일때
                gsap.to(imagWrap, {
                    duration: 1.25,
                    x: Math.abs(x - itemBounds.left),
                    y: Math.abs(y - itemBounds.top),
                })
            }
            item.addEventListener("mouseenter", onMouseEnter)
            item.addEventListener("mouseleave", onMouseLever)
            item.addEventListener("mousemove", onMouseMove)
        })
    </script>

'Script Sample > mouse effect' 카테고리의 다른 글

mouseeffect08 - 따라다니기3  (0) 2022.04.18
mouseeffect06 - 텍스트 효과  (0) 2022.04.18
mouseeffect05 - 이미지효과2  (0) 2022.03.04
mouseeffect04 - 이미지 효과  (0) 2022.03.04
mouseeffect03 - 조명효과  (0) 2022.03.04