悬停在下拉菜单上的 jQuery 闪烁

标签 jquery css menu

我有一个网站正在开发中,当您将鼠标悬停在下拉菜单上时,下拉菜单会闪烁(大部分时间)。

网站在这里:http://www.wya.hardingweb.net

子菜单的 CSS 是这样的:

#nav ul {
  position: absolute;
  left: 0;
  display: none;
  margin: 0 0 0 -1px;
  margin-top: 5px;
  padding: 0;
  list-style: none;
  background-color: rgba(221, 221, 221, 0.7);
  border: 1px solid #cccccc;
}

#nav ul li {
  width: 150px;
  float: left;
  border-top: 1px solid white;
}

#nav ul li.long {
  height: 50px;
}

#nav ul a {
  font-family: helvetica;
  font-size: 15px;
  display: block;
  line-height: 18px;
  padding: 6px 0px;
  color: #252060;
}

#nav ul a:hover {
  text-decoration: underline;
}

这是由以下 jQuery(提取)触发的:

$(document).ready(function() {

//Menu system
$('#nav li').hover(function() {
    //show its submenu
    $('ul', this).slideDown(100);

}, function() {
    //hide its submenu
    $('ul', this).slideUp(100);
});

}); 

我也有一个幻灯片放映,如果我为幻灯片放映禁用 jQuery,那么菜单闪烁问题仍然会重复出现。

我最初使用 Firefox 11 和 Chrome 进行测试。

有没有人有什么想法?

谢谢 奈杰尔·H

最佳答案

闪烁的原因是主列表项与下拉菜单之间有 5px 的间隙。

如果您删除 #nav ul 上的 margin-top: 5px;,那么它应该可以正常工作。

然而,这会使下拉菜单 0px 从列表项中消失。所以我建议删除 ul#nav 上的 padding-bottom 并将其添加到 ul#nav li 中。

在这些更正之后,您应该得到代码:

#nav {
  display: inline;
  float: left;
  margin-right: 10px;
  width: 950px;
  margin: 0;
  margin-top: 50px;
  margin-left: 100px;
  padding: 0;
  list-style: none;
}

#nav li {
  font-size: 28px;
  font-family: code-bold, helvetica, sans-serif;
  letter-spacing: -1px;
  padding-left: 20px;
  padding-right: 20px;
  color: #d1181e;
  float: left;
  display: block;
  position: relative;
  z-index: 500;
  margin: 0 1px;
  padding-bottom: 5px;
}

#nav ul {
  position: absolute;
  left: 0;
  display: none;
  margin: 0 0 0 -1px;
  padding: 0;
  list-style: none;
  background-color: rgba(221, 221, 221, 0.7);
  border: 1px solid #cccccc;
}

关于悬停在下拉菜单上的 jQuery 闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10207330/

相关文章:

jquery - CSS 和 jQuery 菜单因页面较小而被截断

javascript - 电子邮件验证不起作用

jquery - 如何使用 jQuery 1.7+ 检查与 .on() 绑定(bind)的事件?

javascript - 表单域的最小和最大长度

css - 居中固定导航

JavaFX 防止 TableMenuButton 隐藏所有列

php - Jquery追加并添加var

javascript - iCheck 插件无法在 ipad 和 iphone 上正常工作

html - 删除窗口的水平滚动会影响内部 DIV 的高度

javascript - 如何通过另一次单击来反转 onclick 事件?