0

我有一个超级鱼菜单,延迟设置为 800,但是当我从一个下拉菜单移动到另一个下拉菜单时,它仍然同时显示上一个下拉菜单和新下拉菜单。直到 800 毫秒延迟结束,然后之前的下拉菜单才会消失。我不想更改延迟,但是如果打开了一个新的下拉菜单,我希望之前打开的下拉菜单立即关闭而不会延迟。我希望这是有道理的。

有没有办法做到这一点?

谢谢!!

点击查看

4

1 回答 1

1

在其网站上,延迟设置为 800,我猜它工作正常,它不显示旧的弹出窗口。您是否对其代码进行了任何其他更改?

http://users.tpg.com.au/j_birch/plugins/superfish/#examples

编辑:如果您不想将多个 UL 菜单结构修改为单个 UL,那么这是一个解决方案。只需为每个 UL 提供唯一的 id,然后像这样在 superfish.js 中修改over = function()

over = function(){
    var $$ = $(this), menu = getMenu($$);
    $('.sf-menu').each(function(){
        if ($(this).attr('id') != $(menu).attr('id')) {
            $(this).hideSuperfishUl();
        }                       
    });
    clearTimeout(menu.sfTimer);
    $$.showSuperfishUl().siblings().hideSuperfishUl();
},

这可能会导致其他一些副作用,但我现在看不到任何副作用。

于 2010-03-09T14:42:22.940 回答