2013-02-25 62 views
1

我有兩個div(#one,#two) - 一個在上層,另一個在其他許多區域(例如這裏只有一個)中包含:移動到懸停的內容時保持懸停

<body> 
    <div> 
    <div id="two"></div> 
    </div> 
    <div id="one"></div> 
</body> 

兩者的div絕對定位彼此靠近。 #one與JQuery .hide()隱藏。 當我將鼠標懸停在#two上時,我用JQuery .show()顯示#one。 有沒有什麼辦法可以從#two移動到#one,這樣懸停效果就保持不變,並且#one不會被隱藏,直到我將它們從兩者中懸出。

http://jsfiddle.net/Q5ZtP/ - 用於說明。

回答

1

使用這個選擇$('#two,#one');

$('#one').hide(); 
$('#two,#one').hover(
    function() { 
     $('#one').show(); 
    }, 
    function() { 
     $('#one').hide(); 
    } 
); 

演示的simpliest方式選擇這兩個"#one""#two"是把onetwo。冒泡效應將導致您仍然在two之上徘徊,即使在徘徊在one之上。

<div id="two"><div id="one"></div></div> 

小提琴http://jsfiddle.net/Q5ZtP/2/

+0

我喜歡這種嵌套方法。這與在下拉菜單中使用列表類似,在子節點'li'懸停時,父'li'繼續處於活動狀態。 – 2013-02-25 12:40:41

0

嘗試改變:

$('#two').hover(...) 

$('#one, #two').hover(...) 

在你的代碼。