1、clientX、clientY可以获取元素当前窗口的偏移量;
2、pageX、pageY可以获取整个页面的偏移量,无法在IE8浏览器中实现;
3、获取滚动条的距离:
谷歌浏览器认为滚动条是属于body的,而火狐等浏览器认为滚动条是属于html的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>div跟随鼠标移动</title>
<style>
* {
padding: 0;
margin: 0;
}
#box1 {
width: 300px;
height: 300px;
background-color: blue;
border: 1px solid #000;
position: absolute;
}
</style>
<script>
window.onload = function () {
var box1 = document.getElementById("box1");
document.onmousemove = function (event) {
var box2 = document.body.scrollTop || document.documentElement.scrollTop;
var box3 = document.body.scrollLeft || document.documentElement.scrollLeft;
event = event || window.event;
var x = event.clientX;
var y = event.clientY;
box1.style.left = x + box3 + "px";
box1.style.top = y + box2 + "px";
}
}
</script>
</head>
<body style="width: 1000px;height: 800px;">
<div id="box1"></div>
</body>
</html>