2013-02-25 87 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(...) 

在你的代码。