mousemove event jquery - 需要帮助

时间:2016-03-15 14:59:16

标签: jquery

我完全是jquery的初学者,我的问题很简单:

我有两个元素,mousemove事件在div1上,我根据鼠标的位置移动div2,所以我面临两个问题。

  1. 当我悬停div2时,mousemove事件会停止,但只要我的光标超过div1,我希望它继续,并且当我将光标移动到右边时,div没有正确移动

  2. 我希望div2位于光标中间,我尝试将div1偏移左,顶等,但仍然没有运气

  3. 任何帮助将不胜感激,谢谢。

    这里是小提琴:http://jsfiddle.net/Illum/pPn3v/

1 个答案:

答案 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.pageXe.pageY是对鼠标指针分别距网页左侧和顶部有多远的像素测量值。

没有50像素偏移,代码告诉浏览器将元素的左上角与鼠标光标对齐。此时像素值的任何修改器将相对于此位置

因为盒子是100 x 100,我们可以知道中心点是X:50,Y:50。从那里开始,为了将盒子的中心与鼠标指针对齐,我们需要做的就是将盒子的位置向左右移动50个像素。在这种情况下,您将从当前位置值中减去该金额(因为您向后移动')。

JsFiddle http://jsfiddle.net/pPn3v/135/

希望有所帮助