jQuery菜单错误修复

时间:2013-12-10 13:23:13

标签: javascript jquery html css

我一直在jQuery插件的帮助下创建一个多级菜单。但是,我有一个奇怪的鼠标问题。

第1期

如果你将鼠标移到“解决方案”上,然后将鼠标向上移出项目并重新打开,则会移除其类(灰色背景),这很好,但现在你的鼠标仍在菜单项上,现在背景已经走了,所以你必须再次踩下鼠标,玩耍,你会看到。这有意义吗??

一如既往 - 我已经看了很长时间了,因为我看不出这个问题而且它正在慢慢让我疯狂!

第2期

鼠标悬停事件附加到<A>标记,这也会导致出现问题,在<LI>上提供有关如何实现此问题的提示会更有意义。


我在下面创建了一个小提琴,请随时给我一些关于如何解决这个问题的见解。谢谢!

小提琴: http://jsfiddle.net/7hced/1/

小提琴结果: http://jsfiddle.net/7hced/1/embedded/result/

2 个答案:

答案 0 :(得分:0)

我认为当光标离开时,没有正确处理鼠标输出以重置菜单项。它应该重置为关闭状态。我建议使用jQuery的悬停(over,out)方法。

我(非常)简要地检查了一下,通过更改init()操作中的第一条规则($menuItems.on('mouseover', open);$menuItems.hover(open, close);似乎解决了这个问题:

http://jsfiddle.net/7hced/3/embedded/result/

和小提琴:http://jsfiddle.net/7hced/3/

答案 1 :(得分:0)

在您的代码中,您在打开函数中有以下逻辑语句:

    if (current === idx) {
        $item.removeClass('cbp-hropen');
        current = -1;
    } else {

我相信这是您遇到的问题的原因。 尝试删除该代码,看看它是否有帮助。

实施例: http://jsfiddle.net/7hced/13/