티스토리 뷰
//설명. 참고사항.
const mouseImg = document.querySelectorAll(".mouse__img");
mouseImg.forEach((item)=>{
const imageWrap = item.querySelector(".img");
const imageWrapBounds = imageWrap.getBoundingClientRect();
let itemBounds = item.getBoundingClientRect();
const onMouseEnter = ()=>{
gsap.set(imageWrap, {xPercent:-50, yPercent:50,rotation:-15, scale:0.3, opacity:0,});
gsap.to(imageWrap, {xPercent:-50,yPercent:-50, rotation:0, scale:1, opacity:1 });
// gsap.from(imageWrap, {xPercent:50,yPercent:-30, scale:1 });
};
const onMouseLeave = ()=>{
gsap.to(imageWrap, {xPercent:-50,yPercent:-100, rotation:15, scale:0.3, opacity:0 });
};
const onMouseMove = ({x,y})=>{
gsap.to(imageWrap, {
duration:1.25,
x: Math.abs(x - itemBounds.left),
y: Math.abs(y - itemBounds.top),
})
};
item.addEventListener("mouseenter",onMouseEnter);
item.addEventListener("mouseleave",onMouseLeave);
item.addEventListener("mousemove",onMouseMove);
});
'Script Sample > Mouse Effect' 카테고리의 다른 글
Mouse Effcet 08. 이미지효과 & 마우스 무브 효과 (0) | 2022.04.12 |
---|---|
Mouse Effcet 06. 텍스트 효과 (0) | 2022.04.12 |
Mouse Effcet 05. 이미지 효과 2 / Math.max(), Math.min() (0) | 2022.02.24 |
Mouse Effcet 04. 이미지 효과 / window.innerWidth,innerHeight (0) | 2022.02.24 |
Mouse Effcet 03. 마우스 조명 효과 / getBoundingClientRect() (0) | 2022.02.23 |
댓글
© 2018 webstoryboy