<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box{
background-color: red;
width: 50px;
height: 50px;
position: absolute;
}
#loc{
background-color: gray;
width: 500px;
height: 500px;
}
</style>
<script type="text/javascript">
window.onload = function () {
var box = document.getElementById("box");
document.onmousemove = function (event) {
event = event || window.event;
event.cancelBubble = true;
// 获取鼠标的坐标
/***
* clientX 和 clientY
* 用于获取鼠标在当前的可见窗口的坐标
* div的偏移量,是相对于整个页面的
*
* */
//pageX, pageY
//可以获取鼠标相对于当前页面的坐标
//但是这个两个属性在IE8中不支持,所以如果需要兼容IE8,则不要使用
// var left = event.pageX;
// var top = event.pageY;
/**
* 获取滚动条的距离
*
* chrome认为浏览器的滚动条是body的,可以通过body,scrollTop来获取
* 火狐等浏览器认为浏览器的滚动条是html的
* */
var st = document.body.scrollTop || document.documentElement.scrollTop;
var sl = document.body.scrollLeft || document.documentElement.scrollLeft;
var left = event.clientX;
var top = event.clientY;
//设置 div 的偏移量
box.style.left = left + sl + "px";
box.style.top = top + st + "px";
};
/***事件的冒泡(Bubble)
* 指的是事件的向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发
* 在开发中大部分情况的冒泡都是有用的,如果不希望发生冒泡可以通过事件对象来取消冒泡
**/
var loc = document.getElementById("loc");
loc.onmousemove = function (event) {
event = event || window.event;
event.cancelBubble = true;
}
}
</script>
</head>
<body style="height: 1000px; width: 2000px">
<div id="loc"></div>
<div id="box"></div>
</body>
</html>
div 跟随鼠标移动
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 思路: 利用onmousedown事件实现拖拽。首先获得鼠标横坐标点和纵坐标点到div的距离,然后当鼠标移动后再用...