>  기사  >  웹 프론트엔드  >  JavaScript 마우스 추종 효과 구현

JavaScript 마우스 추종 효과 구현

黄舟
黄舟원래의
2017-11-18 13:22:142184검색

일상적인 개발 작업에서 우리는 마우스 따라가기 효과를 얻기 위해 JavaScript를 자주 사용합니다. 오늘은 자바스크립트 마우스를 사용하여 마우스 따라가기 효과를 얻기 위한 JavaScript 방법을 소개하겠습니다. 이벤트 및 코디네이터 획득 및 기타 관련 스킬!

포인트 1:

var oEvent = evt || window.event;

IE와 FF에 호환되도록 작성되었습니다. IE에서는 window.event가 이벤트 객체를 나타내고, FF에서는 이벤트 함수에 매개변수가 전달되는데, 이 매개변수가 이벤트 객체를 나타냅니다. .

포인트 2:

document.onmousemove = function(evt)

마우스 팔로우는 마우스가 움직일 때 일어나는 일입니다.

포인트 3:

document.documentElement.scrollTop || document.body.scrollTop;

크롬 및 기타 브라우저와의 호환성을 위한 것입니다. 스크롤 바와 상단 스크롤 사이의 거리는 Chrome에서는 뒤쪽을 사용하고 다른 브라우저에서는 앞쪽을 사용합니다.

포인트 4:

oTop.style.top=oEvent.clientY+scrolltop+10+"px";

마우스가 움직일 때 요소의 위치 값에 마우스의 현재 위치를 할당합니다.

oEvent.clientY는 마우스의 현재 Y좌표 위치입니다. 첫 번째 화면이 아닌 다른 화면으로 스크롤할 때 마우스 추종 효과가 그대로 유지되도록 스크롤탑에 추가된 거리가 기록됩니다.

코드는 다음과 같습니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>无标题文档</title>
<style>
body{margin:0; padding:0}
#to_top{
width:30px;
height:40px;
padding:20px;
font:14px/20px arial;
text-align:center;
background:#06c;
position:absolute;
cursor:pointer;
color:#fff
}
</style>
<script>
window.onload = function(){
 var oTop = document.getElementById("to_top");
 document.onmousemove = function(evt){
  var oEvent = evt || window.event;
  var scrollleft = document.documentElement.scrollLeft || document.body.scrollLeft;
  var scrolltop = document.documentElement.scrollTop || document.body.scrollTop;
  oTop.style.left = oEvent.clientX + scrollleft +10 +"px";
  oTop.style.top = oEvent.clientY + scrolltop + 10 + "px";
 }
}
</script>
</head>
<body style="height:1000px;">
<a href="#">文字</a>
<p id="to_top">鼠标跟随</p>
</body>
</html>

요약:

이 글을 통해 친구들이 JavaScript의 마우스 팔로우에 대해 더 잘 이해할 수 있을 것이라 믿습니다.

관련 추천:

마우스 따라가기 텍스트 변경 효과

JQuery 기반의 간단한 마우스 따라가기 프롬프트 효과

JS는 마우스 따라가기 코드(만화 손) 유형 클릭을 구현했습니다. 효과)

위 내용은 JavaScript 마우스 추종 효과 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.