菜单jquery中块的移位
我需要为菜单中的子菜单创建计时器。例如,鼠标悬停3秒后显示。所以我从显示和隐藏子菜单的功能开始。但在第一次鼠标移到所有菜单上后,效果良好,但在第二次鼠标移到菜单的下一部分后,子菜单块会移动 剧本菜单jquery中块的移位,jquery,html,css,Jquery,Html,Css,我需要为菜单中的子菜单创建计时器。例如,鼠标悬停3秒后显示。所以我从显示和隐藏子菜单的功能开始。但在第一次鼠标移到所有菜单上后,效果良好,但在第二次鼠标移到菜单的下一部分后,子菜单块会移动 剧本 $(document).ready(function(){ $(".menu_ul > li").hover(function(){ $(this).find("ul").css("display","block"); },function(){ $(this).fin
$(document).ready(function(){
$(".menu_ul > li").hover(function(){
$(this).find("ul").css("display","block");
},function(){
$(this).find("ul").css("display","none");
});
});
HTML
-
live ex.实际上您需要(不需要jQuery): 如您所见,我已将顶部值设置为-3px,或者(感谢@luke)将
边距顶部:15px
降低到。。。12或13
此外,不能将DIV
作为UL
的子元素。UL只能有LI
因此,请修复:正确设置内部UL元素DIV的样式,使用2个LI元素,然后再次使用inside put
UL LI
元素来获得所需的2列(或者类似的内容,您就明白了)。您使用的html无效,可能会导致异常或意外行为
不是
的有效子级,也不是
的有效父级。使用适当的有效标记应该有帮助您的意思是,鼠标不再在子菜单显示的li
?ul上悬停3秒后,ul
应该在3秒钟内可见。因为菜单和子菜单之间是空白的。我不能停在子菜单上而不消失。嗯,你是对的,没有看到它。。。它解决了这个问题吗?但是使用element,我将子菜单分为两部分。@user3671862真的不在乎你为什么这么做。这是完全无效的,不同的浏览器会用无效的代码做不同的事情对不起,如果我问你,但是如果你没有回答解决这个问题,你可能会想把你的声明变成评论?上面有一个空白:15px。若要降低此值,将比顶部更好:-3px@Luke任何只是为了消除空间差距的东西。所以我的答案是:1。
不惜任何代价消除差距(或设置一个透明的边框顶部)2。
无需jQuery我不反对2):)为此给出了+1。但我需要那个空白。在第二步中,我将在这个空间中创建一个小三角形。@user3671862您不明白吗?有一系列的技巧来获得一个空间,但同时在元素上悬停。。。我给你举了一个例子。有什么不清楚的吗?
<ul class="menu_ul">
<li><a href="#" class="menu_active">Úvod</a></li>
<li><a href="#">Naše škola</a>
<ul>
<div>
<li><a href="#">Školní řád</a></li>
<li><a href="#">Školní knihovna</a></li>
</div>
<div class="menu_border">
<li><a href="#">Školní hřiště</a></li>
<li><a href="#">Dokumenty ke stažení</a></li>
</div>
</ul>
</li>
<li><a href="#">Aktuální školní rok</a></li>
</ul>
.menu_ul > li:hover > ul{
display:block;
top:-3px;
}