Rumah >hujung hadapan web >tutorial js >JavaScript鼠标跟随效果的实现

JavaScript鼠标跟随效果的实现

黄舟
黄舟asal
2017-11-18 13:22:142228semak imbas

在我们日常开发工作中,我们会经常使用到JavaScript实现鼠标跟随的效果,很多小伙伴可能对鼠标跟随不是很了解,我们今天就带大家介绍JavaScript实现鼠标跟随效果的方法,涉及javascript鼠标事件与坐标获取等相关技巧!

要点一:

var oEvent = evt || window.event;

这个是为了兼容ie和ff而写的,在ie下window.event表示event对象,而ff下,是给事件函数传一个参数,这个参数就表示事件对象。

要点二:

document.onmousemove = function(evt)

鼠标跟随是在鼠标移动时发生的事情。
 
要点三:

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

这是为了兼容chrome和其它浏览器,滚动条距上边滚动的距离,chrome用后边那个,其它浏览器用前面那个。

要点四:

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

总结:

相信小伙伴们通过对本文的学习,对JavaScript实现鼠标跟随有了进一步的了解,希望对你的工作有所帮助!

相关推荐:

鼠标跟随的文字变动效果

基于JQuery的一个简单的鼠标跟随提示效果

JS实现的鼠标跟随代码(卡通手型点击效果)

Atas ialah kandungan terperinci JavaScript鼠标跟随效果的实现. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn