2011-08-16 34 views
3

我搜索已經並不知我沒有找到一個匹配的問題應該保持開放.. OOjQuery的:Mousover上一個div打開子菜單,當鼠標移開

現在,我有兩個div,「分區1」和另一個是隱藏的(「子菜單」)。現在,如果我將鼠標懸停在div 1上,子菜單就會顯示在div旁邊,這是正確的。但是,如果我將鼠標移動到子菜單,它會消失。

這是因爲我得到了格1.

懸停觸發如果我劈到mouson及移出時,是它在某種程度上可以說「子必須在鼠標移開關閉,但只有當光標不在子菜單'?

感謝您的幫助!

弗洛

+0

你可以添加一些jsfiddle嗎? –

+0

看到這個答案:http://stackoverflow.com/questions/7006504/need-assistance-on-script-jquery/7048105#7048105 –

+0

@Mikey G,地獄,你是對的!這解決了我的問題!你可以寫一個答案,所以我可以標記它是正確的,請:) –

回答

11

訣竅需要兩件事情:

  1. 一個包裝了初始菜單(DIV 1)和第二菜單(子菜單)
  2. 使用.mouseleave()A父DIV方法,NOT .mouseout() - 和結合這對在#1

jsFiddle example

012中提到的父DIV

您不想使用mouseout(),因爲只要光標移到第二個菜單上就會觸發,因爲這基本上「阻止」它不在父div上。另一方面,mouseleave()只會在光標不再位於父div或它的任何子節點時觸發。

+0

好吧,我剛剛通過使用父div事件「懸停」來解決它,這也適用於我....我並沒有真正意思是鼠標,我只是不知道確切的名字,但我希望你們都明白我的意思^^但是謝謝! –

+0

是的,這是一個更好的解決方案。 .hover()使用mouseenter()和mouseleave(),而不是mouseover()和mouseout(),這正如我在我的回覆中所解釋的那樣至關重要。 – maxedison

0

如果你不想要動畫,你可以在不使用JavaScript的情況下使用:hover選擇器,如this

相關問題