对,所以我的网站上有一个主菜单,我正在使用 Hover Intent 插件来显示子菜单。悬停时菜单会随着缓动淡入,当然当鼠标移开时会随着缓动淡出。
现在,我想做的事情似乎很简单,但我只是不知道如何实现它。我只需要能够为我导航到的第一个菜单设置动画,但是当我将鼠标悬停在它们之间时,应该没有动画。
例如,假设我有以下菜单结构:
- 家
- 关于
- 公司
- 使命与愿景
- 解决方案
- 关于我们的解决方案
- 退款保证
- 联系我们
“关于”和“解决方案”都有子菜单。如果我将鼠标悬停在“关于”上,我希望它的子菜单淡入。如果我将鼠标直接从“关于”移动到“解决方案”,我希望可见的子菜单简单地消失(不褪色),并且“解决方案”子菜单简单地出现(不褪色)。然后,当鼠标离开“解决方案”时,该菜单应该会淡出。
一开始可能听起来很傻,但我有这个过程的原因。看,我在子菜单后面有一个页面范围的块元素,它也与菜单本身一起动画。其目的是使菜单更加突出。现在,我不希望每次在菜单之间切换时都会消失。
这可能吗?
这是我现在的[基本]代码:
MainMenu = {
setup: function(menu, over, out) {
$(menu).hoverIntent(function() {
$(this).find('div, ul')[over]({duration: 450, easing:'easeInOutQuad'});
$('div.backFade')[over]({duration: 450, easing:'easeInOutQuad'});
}, function () {
$(this).find('div, ul')[out]({duration: 450, easing:'easeInOutQuint'});
$('div.backFade')[out]({duration: 450, easing:'easeInOutQuint'});
});
}
}
MainMenu.setup('div.menuPlaceHolder > ul > li:has(div,ul)', 'fadeIn', 'fadeOut');