尽管有很多类似的问题,但对于我正在寻找的特定案例,我找不到任何东西。
我有一个带有子导航的 wordpress 网站,它在悬停时显示并使用 HoverIntent 进行动画处理。这很好并且效果很好,但是如果在其中一个子页面上,我希望子菜单保持活动状态-但是-如果我将鼠标悬停在我希望该子菜单显示的任何其他父项上-如果没有单击我希望它恢复显示原始子菜单。
这是我的菜单:
<div class="menu-main-navigation-container">
<ul id="menu-main-navigation" class="menu">
<li id="menu-item-90" class="menu-item-90"><a href="http://sitename.com/services/">Services</a>
<ul class="sub-menu">
<li id="menu-item-123" class="menu-item-123"><a href="http://sitename.com/services/design/">Desgign</a></li>
<li id="menu-item-109" class="menu-item-109"><a href="http://sitename.com/services/seo/">SEO</a></li>
<li id="menu-item-110" class="menu-item-110"><a href="http://sitename.com/services/development/">Development</a></li>
</ul>
</li>
<li id="menu-item-89" class="menu-item-89"><a href="http://sitename.com/portfolio/">Portfolio</a>
<ul class="sub-menu">
<li id="menu-item-113" class="menu-item-113"><a href="http://sitename.com/portfolio/web/">Web</a></li>
<li id="menu-item-108" class="menu-item-108"><a href="http://sitename.com/portfolio/print/">Print</a></li>
</ul>
</li>
</ul>
</div>
还有我当前的 jQuery 代码:
// hover intent
var config = {
sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
interval: 10, // number = milliseconds for onMouseOver polling interval
over: doOpen, // function = onMouseOver callback (REQUIRED)
timeout: 500, // number = milliseconds delay before onMouseOut
out: doClose // function = onMouseOut callback (REQUIRED)
};
function doOpen() {
jQuery(this).addClass("hover");
jQuery('ul:first',this).fadeIn();
}
function doClose() {
jQuery(this).removeClass("hover");
jQuery('ul:first',this).fadeOut();
}
jQuery("#menu-main-navigation li").hoverIntent(config);
任何建议将不胜感激!