显示/隐藏脚本不起作用
问题描述:
我不知道我的脚本有什么问题。如果我徘徊它,为什么。内幕消失?如果在内部悬停,我希望它可见。显示/隐藏脚本不起作用
<ul class="drop">
<li class="thumb">
Arival
<ul class="inside">
<li>První</li>
</ul>
</li>
</ul>
一些jQuery的位置:
$("li.thumb").hover(
function() { $(this).children().show(); },
function() { $(this).children().hide(); }
);
答
嵌套子工作消失,因为有li.thumb
和ul.inside
元素之间的间隙。当鼠标在这个区域子菜单隐藏,当然因为.thumb不再徘徊,并且绝对定位了.inside
。
要解决它,你可以降低子菜单的top
位置,而是用填充顶值垂直方向移动:
.inside {
border: 1px white solid;
display: none;
position: absolute;
width: 190px;
top: 37px;
left: -2px;
z-index: 10;
}
演示:http://jsfiddle.net/0s7gd6g3/8/
而且你并不真正需要的JavaScript在这种情况下,因为它的简单和更有效的CSS用例:
li.thumb:hover .inside {
display: block;
}
答
$(".drop").hover(
function() {
$(this).find('.inside').show();
}, function() {
$(this).find('.inside').hide();
}
);
如果你想有一个jQuery的修复,这会为你做它。只是改变了触发隐藏/显示的元素
它不工作,因为一旦你离开“Arival”,子菜单消失,所以你没有机会到达它们。我认为你可能需要重组你想如何工作 – 2015-02-11 10:01:00
我认为你需要'$(this).children('。inside')' – Satpal 2015-02-11 10:02:36