鼠标跟随,顾名思义,就是在鼠标移动的时候,有个动画跟随着鼠标一起移动。
要点一:
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>
<div id=to_top>鼠标跟随</div>
</body>
</html>