我完全是jquery的初学者,我的问题很简单:
我有两个元素,mousemove
事件在div1
上,我根据鼠标的位置移动div2
,所以我面临两个问题。
当我悬停div2
时,mousemove事件会停止,但只要我的光标超过div1
,我希望它继续,并且当我将光标移动到右边时,div没有正确移动
我希望div2
位于光标中间,我尝试将div1
偏移左,顶等,但仍然没有运气
任何帮助将不胜感激,谢谢。
答案 0 :(得分:1)
它的作品在这里:
1:
<div id="box1">
<div id="box2"></div>
</div>
2:
$("#box2").css("left", e.pageX - 50);
$("#box2").css("top", e.pageY + -50);
e.pageX
和e.pageY
是对鼠标指针分别距网页左侧和顶部有多远的像素测量值。
没有50像素偏移,代码告诉浏览器将元素的左上角与鼠标光标对齐。此时像素值的任何修改器将相对于此位置。
因为盒子是100 x 100,我们可以知道中心点是X:50,Y:50。从那里开始,为了将盒子的中心与鼠标指针对齐,我们需要做的就是将盒子的位置向左右移动50个像素。在这种情况下,您将从当前位置值中减去该金额(因为您向后移动')。
JsFiddle http://jsfiddle.net/pPn3v/135/
希望有所帮助