2016-03-15 28 views
0

我完全jQuery的初學者,我的問題很簡單:mousemove事件的jQuery - 需要援助

我有兩個元素,將mousemove事件是div1,我根據鼠標的位置移動div2,所以我面臨兩個問題。

  1. 當我徘徊div2,MouseMove事件將停止,但我想,只要我的光標懸停div1並繼續還當我將光標移動到右側,股利不能正常移動

  2. 我想div2將在光標的中間,我試着服用div1偏移左側,頂部等,但仍沒有運氣

任何幫助將不勝感激,謝謝。

這裏是小提琴:http://jsfiddle.net/Illum/pPn3v/

回答

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是如何遠離像素測量網頁的左側和頂部(重新) spectively)鼠標指針。

沒有50像素偏移量,代碼會告訴瀏覽器將元素的左上角與鼠標光標對齊。相對於此位置,此時像素值的任何修飾符將爲

因爲盒子是100 x 100,我們可以計算出中心點在X:50,Y:50。從那裏,爲了將盒子的中心與鼠標指針對齊,我們需要做的就是將盒子的位置向上和向左移動50個像素。在這種情況下,您將從當前位置值中減去該數額(因爲您正向後移動)。

的jsfiddle這裏http://jsfiddle.net/pPn3v/135/

希望幫助

+0

它的工作,但你能解釋一下什麼是「-50」和+「-50」和爲什麼要添加呢? –

+0

,因爲你的div#box2的寬度爲100px,高度爲100px – Greg