删除onmouseover上的Superfish下拉菜单的延迟,同时保持Hoverintent延迟onmouseout

时间:2011-11-22 15:08:11

标签: jquery wordpress drop-down-menu superfish hoverintent

我在删除Superfish下拉修复程序的初始延迟时遇到问题。我的客户希望延迟退出,但不要拖延。

我有一个纯CSS下拉菜单(与Twentyten下拉菜单相同)并且正在应用Suckerfish.js。

这是我的代码:

$('ul#menu-airco-mb-navigatiestructuur').superfish({
    delay: 600,
    autoArrows:    false,
    speed: 'fast'
}); 

我一直在阅读the manual of Superfish,但我似乎找不到触发初始延迟的原因。也许它与动画animation: {opacity:'show'}有关(我似乎无法理解这一点)。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:13)

好像你可能会包含HoverIntent插件。 Superfish的一个选项是“disableHI”。如果将其设置为“true”,则Superfish将不会使用HoverIntent来延迟mouseenter事件。或者,如果您不打算在网站的其他位置使用HoverIntent插件,则可能不会包含该插件。希望这会有所帮助。

$('ul#menu-airco-mb-navigatiestructuur').superfish({
    delay: 600,
    autoArrows: false,
    speed: 'fast',
    disableHI: true
});

我创建了两个测试用例。 first one是使用CSS的页面的简化版本,the second完全相同,除了我删除了所有CSS并且只包含了在Superfish网站上找到的基本superfish.css。我还将菜单类从'menu'更改为'sf-menu',以便superfish.css正常工作。

请注意,我的CSS版本与您希望的版本一样,而带有CSS的版本则有您描述的错误。我想有一个CSS问题,你可以通过比较我和你的问题并改变你的问题来进行梳理。我看到的一个区别是我将子菜单UL设置为固定的em宽度,将子LI设置为100%,而不是。这不是罪魁祸首,但表明您可以通过更加紧密地将CSS与经过验证的Superfish菜单方式对齐来获益。希望这会有所帮助。

答案 1 :(得分:0)

您在鼠标悬停时看到的不是任何延迟,而是实际的动画运行。

我想你可以删除动画。

如果您只为高度设置动画,则会立即获得视觉响应,而不会出现需要一秒钟的不透明度。

可能但你想要的功能明智,不知道在视觉上。

        $('ul#menu-airco-mb-navigatiestructuur').superfish({
            delay       : 0,
            animation   : { height:'show' },
            speed       : 'fast'
        });