嘿那里堆栈溢出船员,
使用 jquery 构建自定义下拉导航系统时似乎总是出现的快速问题。现在下拉菜单的理想方案是让父母和孩子在
假设您有一个 DIV 包含您的主要导航项,另一个下面包含您的子菜单。
当您翻转父级时,子菜单会出现,但是当这些是单独的时,推出状态会变得很棘手。所以我嵌套了悬停来尝试解决这个问题,它几乎可以工作。
$("div.primary-nav").mouseenter(function () {
clearTimeout($(this).data('timeoutId'));
$("div.doormat-nav-wrapper").slideDown("slow");
}).mouseleave(function () {
$("div.doormat-nav-wrapper").mouseenter(function () {
clearTimeout($(this).data('timeoutId'));
$("div.doormat-nav-wrapper").slideDown("slow");
}).mouseleave(function () {
var someelement = this;
var timeoutId = setTimeout(function(){
$("div.doormat-nav-wrapper").slideUp("slow");
$(someelement).data('timeoutId', timeoutId); //set the timeoutId, allowing us to clear this trigger if the mouse comes back over
});
});
});
从逻辑上讲,我想要实现的是
当用户滚动 div.primary-nav .... div.doormat-nav-wrapper 显示... 滚动主导航时 div.doormat-nav-wrapper 隐藏除非 div.doormat-nav-wrapper 本身是被悬停在上面。
任何反馈或建议将不胜感激。谢谢!