티스토리 뷰
설명
마우스 이펙트 이미지 효과는 마우스를 따라서 이미지가 움직이는 효과 입니다.
이 효과를 내기 위해서는 먼저 마우스의 좌표값을 중앙으로 초기화 시킨 후(x축:0, y축:0) 중앙을 기준으로 이미지가 움직이게 됩니다.
마우스 좌표값 초기화 방법
마우스 좌표값을 중앙으로 초기화 방법은 화면 전체 가로값 - (화면 전체 가로값/2) 를 하시면 됩니다.
//실제 마우스 좌표 값
let mousePageX = e.pageX;
let mousePageY = e.pageY;
//마우스 좌표 값을 가운데로 초기화 후 좌표값
//전체 길이/2 - 마우스 x좌표값 == 0
let centerPageX = window.innerWidth/2 - mousePageX;
let centerPageY = window.innerHeight/2 - mousePageY;
Javascript Code
<script>
const circle = document.querySelector(".cursor").getBoundingClientRect();
document.querySelector(".mouse__img").addEventListener("mousemove", (e) => {
//커서(마우스를 따라다니는 원)
gsap.to(".cursor", {duration: 0.2, left: e.pageX - circle.width/2, top: e.pageY - circle.height/2})
//마우스 좌표 값
let mousePageX = e.pageX;
let mousePageY = e.pageY;
//마우스 좌표 값을 가운데로 초기화
//전체 길이/2 - 마우스 x좌표값 == 0
let centerPageX = window.innerWidth/2 - mousePageX;
let centerPageY = window.innerHeight/2 - mousePageY;
//이미지 움직이기
// const imgMove = document.querySelector(".mouse__img figure img")
// imgMove.style.transform = "translate("+ centerPageX/20 +"px, "+ centerPageY/20 +"px)";
gsap.to(".mouse__img figure img", {duration: 0.3, x:centerPageX/20, y:centerPageY/20})
//출력
document.querySelector(".mousePageX").textContent = mousePageX;
document.querySelector(".mousePageY").textContent = mousePageY;
document.querySelector(".centerPageX").textContent = centerPageX;
document.querySelector(".centerPageY").textContent = centerPageY;
})
</script>
'Script Sample > Mouse Effect' 카테고리의 다른 글
Mouse Effect - 텍스트 효과 (0) | 2022.04.14 |
---|---|
Mouse Effect - 이미지 효과2 (0) | 2022.03.01 |
Mouse Effect - 조명 효과 (0) | 2022.02.23 |
Mouse Effect - 따라다니기2 (0) | 2022.02.23 |
Mouse Effect - 따라다니기 (0) | 2022.02.23 |
댓글
© 2018 webstoryboy