html:
<div id="box"></div>
css:
div{
width:150px;
height:150px;
background:green;
border-radius:50%;
position:absolute;
}
js:
window.onload = function(){
/*
分析:
有三个事件;
1.鼠标按下事件;
分析:鼠标按下的时候,点击的点与圆圈的边缘的距离是固定不变的,因为圆球随鼠标移动的时候,点不动,只是圆球移动 所以我们在鼠标按下的时候获取这段距离就可以得到left的距离了
1.获取鼠标的e.clientX和e.clientY的值;
2.offsetX = e.clientX-this.offsetLeft;
offsetY = e.clientY-this.offsetTop;
3.因为考虑到鼠标抬起的时候,按下的不会被关闭 var isDown = false;
2.鼠标移动事件;
1.鼠标移动的时候改变的有e.clientX和
2.我们要求的就是left的距离 = e.client- offsetX;
3.还要判断 不能超过左右上下
<div id="box"></div>
css:
div{
width:150px;
height:150px;
background:green;
border-radius:50%;
position:absolute;
}
js:
window.onload = function(){
/*
分析:
有三个事件;
1.鼠标按下事件;
分析:鼠标按下的时候,点击的点与圆圈的边缘的距离是固定不变的,因为圆球随鼠标移动的时候,点不动,只是圆球移动 所以我们在鼠标按下的时候获取这段距离就可以得到left的距离了
1.获取鼠标的e.clientX和e.clientY的值;
2.offsetX = e.clientX-this.offsetLeft;
offsetY = e.clientY-this.offsetTop;
3.因为考虑到鼠标抬起的时候,按下的不会被关闭 var isDown = false;
2.鼠标移动事件;
1.鼠标移动的时候改变的有e.clientX和
2.我们要求的就是left的距离 = e.client- offsetX;
3.还要判断 不能超过左右上下