JS之鼠标在盒子中的位置
需求:鼠标进入盒子之后只要移动,哪怕1像素,随时更换里面的内容(鼠标在盒子中的坐标)
技术点:新事件,onmousemove,在事件源上哪怕移动1像素也会触动这个事件
一定程度上模拟了定时器
步骤:
1.老三步和新五步
2.获取鼠标在整个页面的位置
3.获取盒子在整页面的位置
4.用鼠标的位置减去盒子的位置赋值给盒子的内容
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .box{ width: 300px; height: 200px; background-color:pink; margin: 100px; text-align: center; padding-top: 100px; cursor: pointer; } </style> </head> <body> <div class="box"></div> <script type="text/javascript"> //需求:鼠标进入盒子之后只要移动,哪怕1像素,随时更换里面的内容(鼠标在盒子中的坐标) //技术点:新事件,onmousemove,在事件源上哪怕移动1像素也会触动这个事件 //一定程度上模拟了定时器 //步骤: //1.老三步和新五步 //2.获取鼠标在整个页面的位置 //3.获取盒子在整页面的位置 //4.用鼠标的位置减去盒子的位置赋值给盒子的内容 // //1.老三步和新五步 var div = document.getElementsTagName("div")[0]; div.onmousemove = function(event){ //兼容获取事件对象 event = event || window.event; //获取鼠标在整个页面的位置 var pagex = event.pageX || scroll().left + event.clientX; var pagey = event.pageY || scroll().top + event.clientY; //获取盒子在整个页面的位置 var divx = div.offsetLeft; var divy = div.offsetTop; //4.用鼠标的位置减去盒子的位置赋值给盒子的内容 var targetx = pagex - divx; var targety = pagey - divy; this.innerHTML="鼠标在盒子的X位置:"+targetx+"px;<br>鼠标在盒子的Y位置:"+targety+"px."; } </script> </body> </html>