2012-08-08 99 views
0

我目前動畫我的第一個網站,網址爲:http://jsfiddle.net/thevenin/zRLFX/4/

摘要:我有五個是的div遞歸動畫,以$。每()函數開始動畫。如果您將鼠標懸停在五個div中的任何一個上,動畫應該會中斷,並且所有div都應該停止移動。當您取消div時,動畫將使用$ .each()函數重新啓動。

我的問題是,有時當div到達內部圓的對角軸時,hover()函數不會觸發。如果您在此位置上將鼠標追蹤到div上,則鼠標將懸停在div上而無需註冊。 Firefox和Chrome都有這個問題。我怎樣才能解決這個問題?

謝謝!

回答

2

通過增加圓的z-索引來解決它。我想早些時候,問題會出現在div與其他所有的z-index相同,這意味着你將無法選擇它們。不太確定實際的推理,但至少可以解決問題!

+0

太棒了!我沒有想到這一點。當然,紫色圓圈的「邊框」與導航圈的「邊界區域」相交。我應該注意到了。 – Kiruse 2012-08-08 21:18:06

2

懸停需要您實際將鼠標移動到懸停對象上方。因爲你的物體是動畫的,所以如果你把鼠標放在物體的路徑上,懸停不會觸發。

我懷疑這也會發生,如果你將鼠標移動到一個圓圈,但在它到達圓圈之前停止鼠標,然後圓圈在它下面動畫,而不是觸發懸停。

爲了規避這種行爲,您可以輪詢鼠標座標以查看它們是否在任何給定時間的圓的範圍內。

+0

我相信海報的意思是另一種情景。嘗試輸入其中一個div,同時它們位於紫色div中心的對角軸上。懸停將被忽略。我相信這是提問者真正關心的問題。雖然追蹤divs會突然導致適當的檢測。但我喜歡你的跟蹤鼠標座標的建議。 – Kiruse 2012-08-08 19:59:51

+0

@ Derija93好的。你可能是對的。 – Quantastical 2012-08-08 20:01:58

+0

@ Derija93感謝您指出這是沿對角軸發生的。你將如何輪詢鼠標座標與圓圈位置的關係? – sophistry 2012-08-08 20:03:29