0

我在导航中为我的子菜单制作了一个脚本。当我打开子菜单时。子菜单显示,当我鼠标悬停时。子菜单关闭宽度延迟 300。

但是我的脚本有问题。导航有 8 个子菜单。当我将鼠标悬停在第一个子菜单上时。此子菜单已打开。当我将鼠标悬停在第二个子菜单上时。比我有两个子菜单打开。

当我打开一个新的子菜单时。并且打开了另一个子菜单。另一个子应立即关闭。我该怎么做?

非常感谢!

这是我的脚本:

    $('.nav-main .container li').hover(function() {
    if ($(this).find('.submenu').length > 0) {
        $(this).addClass("hover");
        $(this).find('.submenu').show();
    }
}, function() {
    var object = $(this);
    setTimeout(function()
    {
        $(object).find('.submenu').hide();
        $(object).removeClass("hover");
    }, 300);
});
4

1 回答 1

0

在显示子菜单之前,您可以先隐藏所有子菜单;

if ($(this).find('.submenu').length > 0) {
        $(this).addClass("hover");
        $('.submenu').hide();//Here
        $(this).find('.submenu').show();
    }
于 2012-04-28T14:26:05.963 回答