1

我的问题(小提琴)

我的问题是,在我的 jquery 动画下拉菜单上,当您将鼠标悬停在“其他”链接上时,子菜单不会出现。当使用 Firefox 来“检查元素”时,我发现高度是动画的,宽度看起来还不错,但我看到的只是左边框。

我注意到,如果我将该特定部分显示为一个块,当您为第一个菜单设置动画时,它会显示,但在输入无序列表时,它会消失(ex)。我想它与此有关,但我无法弄清楚是什么原因造成的。

任何煽动我可能只是忽略的东西都会很棒,当然非常感谢。

笔记:

  • 我在 Firefox、Chrome、Opera 和 IE 中遇到过这个问题。
  • 它的设计使其只能与 css 一起使用。第一个.each是覆盖默认的 CSS 悬停行为。
  • 空跨度包含箭头图像。
  • 仅发布相关代码。但是,您可以在此处查看我的网站
  • 如果您对提高效率有任何建议,欢迎随时欢迎。
4

2 回答 2

2

http://jsfiddle.net/sailorob/4cdTV/5/

为了简单起见,我删除了你的 CSS,并通过使用 jQuery slideUp 和 slideDown 简化了你的函数,它们基本上处理了你用函数管理的许多 css 属性。从这里开始,我认为在你的一些 CSS 中工作会相当简单。

在菜单上使用 javascript/jQuery/animation 时,我强烈建议使用计时器 (setTimeout) 来触发 mouseenters 和 'leaves. 这样,当用户不小心将鼠标移出菜单几个像素并关闭时,您的菜单会更加宽容。

于 2012-08-23T19:19:36.157 回答
0

好吧,在调试 JS 和 CSS 时,我发现如果你删除所有的 JS,带有子菜单的下拉菜单可以正常工作。另一个li打开它下面的ul就好了。请注意,尽管没有 JS,但它不会动画。

这是一个分叉的小提琴。

我在最新的 Chrome 和 Firefox 中对其进行了测试。

于 2012-08-23T18:58:57.193 回答