您所在的位置:小祥子 » 编程 » CSS » 正文

跟随鼠标移动的div框

时间:2015-05-30 编辑:飘逸110 来源:本站整理

事件对象event和传入参数cv解决兼容性问题

event.clientX和event.clientY得到的是相对于页面的坐标,当滚动条向下移动时,则出现定位不准,所以要加上滚动条的高度

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
#div1{width:100px; height:100px; background:#0F0; position:absolute;}
</style>
<script>
function getPos(ev)//将鼠标定位定义成函数
{
	var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
	var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;
	return {x:ev.clientX+scrollLeft,y:ev.clientY+scrollTop};
}
document.onmousemove=function(ev)//给文档添加移动事件
{
	var oEvent=ev||event;
	var oDiv=document.getElementById('div1');
	var pos=getPos(oEvent);
	oDiv.style.left=pos.x+'px';//为left赋值
	oDiv.style.top=pos.y+'px';
}
</script>
</head>

<body>
<div id="div1"></div>
</body>
</html>
关键词:鼠标 移动 div