事件对象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>
时间: 2024-10-11 08:52:05