ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptでマウスフォローを実装する方法

JavaScriptでマウスフォローを実装する方法

藏色散人
藏色散人オリジナル
2021-06-27 10:18:022823ブラウズ

JavaScript でマウス追従を実装する方法: 1. "evt || window.event;" を設定します; 2. "function(evt)" を作成します; 3. "document.body.scrollTop;" を作成します; 4 . マウスの現在位置を要素の位置の値に割り当てるだけです。

JavaScriptでマウスフォローを実装する方法

この記事の動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript でマウスの追従を実装するにはどうすればよいですか?

簡単なマウス追従効果を実現するJSメソッド

簡単なマウス追従効果を実現するJSメソッド。具体的な分析は次のとおりです。

マウスフォローとは、その名前が示すように、マウスが動くとマウスを追いかけるアニメーションがあることを意味します。

ポイント 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 と他のブラウザとの互換性のためのものです。スクロール バーと上部のスクロールの間の距離です。Chrome では後者が使用され、他のブラウザは前面のブラウザを使用します。

ポイント 4:

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

マウスが移動したときの要素の位置の値に、マウスの現在位置を代入します。

oEvent.clientY は現在のマウスの Y 座標位置で、最初の画面以外の画面にスクロールしてもマウス追従効果が変わらないように、scrolltop に加算される距離が書き込まれます。

コードは次のとおりです:

<!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>
<div id="to_top">鼠标跟随</div>
</body>
</html>

[推奨学習: JavaScript 上級チュートリアル]

以上がJavaScriptでマウスフォローを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。