【发布时间】:2012-12-25 07:56:00
【问题描述】:
我有一个导航栏,可以在悬停时显示内容。你可以在这里看到一个工作演示:http://codepen.io/anon/pen/wjciG
如您所见,它运行得相当好,但它有点错误。
我的jquery很简单,绝对可以改进:
$("#navButtons li").hover(function(){
$(this).find("span#tooltip").stop().fadeIn(300);
}, function(){
$(this).find("span#tooltip").stop().fadeOut(300);
});
span#tooltip 绝对位于可悬停链接下方,因此当用户将鼠标悬停在链接上,然后尝试悬停在工具提示/框上时,它会闪烁(因为有一段时间用户没有悬停在任何事物)。我需要允许用户将鼠标悬停在一个元素上,看到该框淡入,然后允许用户将鼠标悬停在该框上并单击其中可能包含的任何链接或内容。
有没有更好的方法来使用 Jquery 或 CSS3 来实现更流畅、更可靠的结果?
【问题讨论】:
-
一种解决方法是添加一个具有透明背景的绝对定位的 div 来填充该空间,因此用户实际上永远不会将鼠标悬停在列表项之外......但这很脏。其他想法?
-
不要不,永远不要再在每页使用多个ID!把
#tooltip改成一个类! -
+1 很好的问题!