1

我无法让延迟参数适用于 WordPress 网站的 HoverIntent 和 Superfish。在这里找到的网站:http: //bit.ly/MJ8KT6正在消失,但根本没有使用以下代码提供鼠标移出延迟:

<script type="text/javascript">

// initialise plugins
jQuery(function(){
    jQuery('ul#menu-primary-navigation').superfish({
     delay:600
    });
});

</script>

我尝试设置disableHI: false以确保 HoverIntent 不会被禁用。作为一个 WordPress 网站,我还使用 wp_enqueue_script 检查了脚本是否正确加载,但同样无济于事。该代码在 HTML 文件中运行良好,因此它必须与 WordPress 有关。我想知道这是否是我忽略的东西。非常感谢任何反馈。

4

1 回答 1

2

这与 WordPress 无关,与您的 CSS 定义有关。(因此它将作为上面的题外话关闭)。但既然你仍然需要一个答案......

在您的默认样式表中,您将包含子菜单的列表元素定义为:

.menu ul li ul.sub-menu {
    position: absolute;
    left: -9999em;
    z-index: 9999;
    width: 200px;
}

这会将菜单完全推离屏幕,这很好。left: -9999em;但是您随后使用悬停伪状态覆盖声明:

.menu ul li:hover ul {
    left: auto;
}

即使没有安装 Superfish,当您将鼠标悬停在主菜单项上时,这种 CSS 组合也会使子菜单在屏幕上出现和消失。不幸的是,这也意味着当您停止悬停时菜单会立即消失。它仍然被 Superfish 隐藏......它不再出现在屏幕上。

如果您只是left: -9999em;从 CSS 中删除声明,则当您将鼠标移离屏幕时,菜单将保持可见,直到计时器达到设置的延迟......然后它就会消失。

于 2012-08-07T15:19:37.507 回答