본문 바로가기
Effect

Mouse Effect 03

by 🐬마뇽뇽 마뇽🦄 2022. 9. 22.
728x90

Mouse Effect 03

마우스를 움직일 때 뒤에 있는 이미지가 보이는 착시효과를 공부해보았습니다.

01. HTML

마우스 이펙트 01번 만큼 쉬운 구조로 묶었습니다.

🐱‍👤 HTML 코드
<main id="main">
    <section id="mouseType">
      <div class="mouse__cursor"></div>
      <div class="mouse__wrap">
        <p class="Nix">The way to get <span>started</span> is to <span>quit talking</span> and begin <span>doing.</span></p>
        <p class="arir">무언가를 <span>시작</span>하려면 <span>말은 멈추고</span> <span>행동</span>해야 한다.</p>
      </div>
    </section>
</main>

02. Css

이미지가 사실은 두개 이므로, 배경 말고 보여지는 이미지는 필터를 넣어 밝아지게 만들어줍니다. 또한 background-position 과 background-attachment 으로 이미지가 정중앙에 있게 만듭니다.

🐱‍👤 css 코드
.mouse__cursor {
    position: absolute;
    left: 0;
    top: 0;
    width: 200px;
    height: 200px;
    z-index: -1;
    border-radius: 50%;
    color: #fff;
    background: url(../../assets/silde/min_jelly/slide_bg_02@2x-min.jpg);
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    border: 5px solid #fff;
    cursor: none;
    filter: brightness(120%);
}

03. Javascript

getBoundingClientRect()으로 마우스의 위치가 중앙에 위치할 수 있게 만듭니다.

🐱‍👤 Javascript 코드
 const cursor = document.querySelector(".mouse__cursor")

// const circleW = cursor.offsetWidth; //200
// const circleH = cursor.offsetHeight; //200
// const circle2 = cursor.clientWidth; //190 : 보더값 제외

const circle = cursor.getBoundingClientRect();
// {
//    x:0,
//    y:0,
//    bottom : 200,
//    hight : 200,
//    left : 0 ,
//    right : 200,
//    top : 0,
//    width : 200
// }

window.addEventListener("mousemove",(e) => {
    gsap.to(cursor,
    { duration : 0.3, 
    left : e.pageX - circle.width/2,
    top : e.pageY - circle.height/2
    });

});

03. 이미지로 한눈에 알아봅시다.

728x90

'Effect' 카테고리의 다른 글

search Effect 04  (8) 2022.09.28
Mouse Effect 04  (6) 2022.09.22
Parallax Effect05  (5) 2022.09.20
Parallax Effect04  (9) 2022.09.19
Slider Effect 04  (8) 2022.09.19

댓글


고양이 고양이
고양이 고양이
고양이 고양이