我正在使用此jquery代码在悬停时显示div:
$(function() {
$('#div1').hover(function() {
$('#div2').fadeIn();
}, function() {
$('#div2').fadeOut();
});
});
on jSFiddle:http://jsfiddle.net/4z2zq/4/
这将使用两个DIV ID:
但是当#div2
徘徊时,我无法点击这些链接!
当我尝试点击这些链接时,这个div就消失了。任何想法在#div2
本身悬停时保持#div2
。
答案 0 :(得分:2)
像这样的东西
$(function() {
$('#div1').hover(function() {
$('#div2').fadeIn();
} );
$('#div2').mouseleave(function() {
$('#div2').fadeOut();
});
});
答案 1 :(得分:1)
您只需要在div2
内嵌套div1
。
<div id="div1">hover over me
<div id="div2">
<ul>
<li><a href='Google.com'>Google</a></li>
<li><a href='Google.com'>Yahoo</a></li>
<li><a href='Google.com'>AOl</a></li>
</ul>
</div>
</div>
上述方法可行,我所做的就是将</div>
从第1行移到最后。这使div2
成为div1
的孩子。
答案 2 :(得分:1)
您需要将div2
包裹在div1
内。
<div id="div1">hover over me
<div id="div2">
<ul>
<li><a href='Google.com'>Google</a>
</li>
<li><a href='Google.com'>Yahoo</a>
</li>
<li><a href='Google.com'>AOl</a>
</li>
</ul>
</div>
</div>
以下是fiddle
答案 3 :(得分:1)
对我来说,最好的方法是更改HTML代码:
<div id="div1">hover over me
<ul id="div2">
<li><a href='Google.com'>Google</a></li>
<li><a href='Google.com'>Yahoo</a></li>
<li><a href='Google.com'>AOl</a></li>
</ul>
</div>
答案 4 :(得分:0)
将div1
和div2
放在包装器div
中,并将hover
事件绑定到包装器。
答案 5 :(得分:0)
我建议您使用CSS伪函数,并将操纵元素放在父级(#div1)中,例如:
#div2{
display:none;
}
#div1:hover #div2 {
display: block;
}
除非使用限制跨浏览器功能的CSS 3过渡,否则你不会有奇特的过渡。