<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style type="text/css"> #box1{ 100px; /*宽度为100px*/ height: 100px; /*高度为100px*/ background-color:red; /*背景颜色*/ /* 开启box1的绝对定位 */ position: absolute; } </style> <script type="text/javascript"> window.onload=function(){ /* --------使div可以跟鼠标移动----------- */ // 获取box1 var box1=document.getElementById("box1"); // 绑定鼠标移动事件 document.onmousemove=function(event){//窗口移动 // box1.onmousemove=function(event){//只限可见窗口移动 // alert(123);//测试 // 解决兼容问题 event = event ||window.event; // 获取滚动条的距离 /* chrome认为浏览器的滚动条是body的,可以通过body.scrollTop来获取 火狐等浏览器认为浏览器的滚动条是html的 */ // var st = document.body.scrollTop var st=document.body.scrollTop||document.documentElement.scrollTop; var sl=document.body.scrollLeft||document.documentElement.scrollLeft; console.log(st); // 获取到鼠标的坐标 /* clientX和clientY 用于获取鼠标在当前的可见窗口的坐标 div的偏移量,是相对于整个页面的 pageX和pageY 可以获取鼠标对于当前页面的坐标 // 但是这个两个属性在IE8中不支持,所以需要兼容IE8,则不要使用 */ var left=event.clientX; var top=event.clientY; // var left = event.pageX; // var top=event.pageY; // 设置div的偏移量 box1.style.left=left + sl +"px"; box1.style.top=top +st +"px"; } }; </script> </head> <body style="height: 1000px; 2000px;"> <div id="box1"></div> </body> </html>