티스토리 뷰
설명
마우스 좌표값에 따라 동그라미원의 좌표값이 변경되면서 마우스를 따라다니게 됩니다.
추가적으로 특정한 언어(span태그로 감싼 단어)에 마우스가 오버 됐을 경우에는 마우스를 따라다니는 원이 변하도록 효과를 넣었습니다.
<script>
const cursor = document.querySelector(".cursor");
const follower = document.querySelector(".cursor-follower");
window.addEventListener("mousemove", e => {
gsap.to(cursor, {duration: .3, left: e.pageX -5, top: e.pageY - 5})
gsap.to(follower, {duration: .8, left: e.pageX -15, top: e.pageY - 15})
//오버효과
document.querySelectorAll(".mouse__wrap span").forEach(span => {
span.addEventListener("mouseover", () => {
cursor.classList.add("active");
follower.classList.add("active");
})
span.addEventListener("mouseleave", () => {
cursor.classList.remove("active")
follower.classList.remove("active")
})
})
document.querySelector("h1 a").addEventListener("mouseenter", () => {
cursor.classList.add("show1")
follower.classList.add("show1")
})
document.querySelector("h1 a").addEventListener("mouseleave", () => {
cursor.classList.remove("show1")
follower.classList.remove("show1")
})
document.querySelectorAll("li a").forEach((el,i) => {
el.addEventListener("mouseover", () => {
cursor.classList.add("show" + (i+1))
follower.classList.add("show" + (i+1))
})
el.addEventListener("mouseout", () => {
cursor.classList.remove("show"+ (i+1))
follower.classList.remove("show" + (i+1))
})
})
//출력
document.querySelector(".pageX").innerText = e.pageX;
document.querySelector(".pageY").innerText = e.pageY;
});
</script>
'Script Sample > Mouse Effect' 카테고리의 다른 글
Mouse Effect - 텍스트 효과 (0) | 2022.04.14 |
---|---|
Mouse Effect - 이미지 효과2 (0) | 2022.03.01 |
Mouse Effect - 이미지 효과 (0) | 2022.02.24 |
Mouse Effect - 조명 효과 (0) | 2022.02.23 |
Mouse Effect - 따라다니기 (0) | 2022.02.23 |
댓글
© 2018 webstoryboy