<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body {
margin: 0;
/*添加高度使其出现滚动条*/
height: 1000px;
}
#box {
width: 200px;
height: 200px;
background-color: pink;
margin: 100px;
/*添加margin-top*/
margin-top: 500px;
}
</style>
</head>
<body>
<div id="box"></div>
<script src="js/common.js"></script>
<script>
var box = document.getElementById('box');
box.onclick = function (e) {
// 获取盒子在页面上的位置
// console.log(this.offsetLeft);
// console.log(this.offsetTop);
e = e || window.event;
// 鼠标在盒子上的位置 = 鼠标坐标 - 盒子坐标
var x = getPage(e).pageX - this.offsetLeft;
var y = getPage(e).pageY - this.offsetTop;
console.log(x, y);
}
</script>
</body>
</html>
// common.js
// 获取鼠标在页面上的位置,兼容性处理
function getPage(e) { // 传入参数e
e = e || window.event;
var pageX = e.pageX || e.clientX + getScroll().scrollLeft;
var pageY = e.pageY || e.clientY + getScroll().scrollTop;
return {
pageX: pageX,
pageY: pageY
}
}
