티스토리 뷰

Script Sample/Mouse Effect

mouseEffect04

GYChoi 2022. 2. 24. 13:16

https://garenchoi.github.io/webs_class/javascript/effect/mouseEffect04.html

const circle = document.querySelector(".cursor").getBoundingClientRect();		//클래스 cursor의 정보값 circle에 저장
document.querySelector(".mouse__img").addEventListener("mousemove", e => {		//클래스 mouse__img에 마우스 움직였을 때 이벤트 설정
    //커서
    gsap.to(".cursor", {duration: .2, left: e.pageX - circle.width/2, top: e.pageY - circle.height/2});		
    //gsap(자바스크립트 애니메이션 라이브러리)사용 0.2초동안 left: e의 pageX - circle의 가로 값/2, top: e의 pageY - circle의 세로 값/2

    //마우스 좌표 값
    let mousePageX = e.pageX;		//변수 mousePageX에 e의 X좌표 값 저장 
    let mousePageY = e.pageY;		//변수 mousePageY에 e의 Y좌표 값 저장

    //마우스 좌표 값을 기준점을 가운데로 초기화
    let centerPageX = window.innerWidth/2 -mousePageX;		//centerPageX에 (브라우저의 가로 값/2 - mousePageX)값 저장
    let centerPageY = window.innerHeight/2 -mousePageY;		//centerPageY에 (브라우저의 세로 값/2 - mousePageY)값 저장

    //이미지 움직이기
    gsap.to(".mouse__img figure img", {duration:0.3, x: -centerPageX/20, y: -centerPageY/20});		//gsap사용 0.3초동안 이미지를 (x: -centerPageX/20, y:-centerPageY/20)로 이동

    //출력
    document.querySelector(".mousePageX").textContent = mousePageX;		//클래스 mousePageX에 mousePageX 값 출력
    document.querySelector(".mousePageY").textContent = mousePageY;		//클래스 mousePageY에 mousePageY 값 출력
    document.querySelector(".centerPageX").textContent = centerPageX;	//클래스 centerPageX에 centerPageX 값 출력
    document.querySelector(".centerPageY").textContent = centerPageY;	//클래스 centerPageY에 centerPageY 값 출력
})

'Script Sample > Mouse Effect' 카테고리의 다른 글

mouseEffect06  (0) 2022.04.14
mouseEffect05  (0) 2022.02.24
mouseEffect03  (0) 2022.02.23
mouseEffect02  (0) 2022.02.23
mouseEffect01  (0) 2022.02.22
댓글
© 2018 webstoryboy