【问题标题】:jQuery drop down nav, some items not hiding on mouseoutjQuery下拉导航,一些项目没有隐藏在鼠标悬停上
【发布时间】:2011-08-19 11:04:04
【问题描述】:

我有一个使用 UL 的水平多级下拉导航,如果您以受控方式将鼠标悬停在项目上,它可以正常工作,但是一旦您通过更快地移动鼠标来加快速度 - 项目要么“粘”到“显示”状态,并且在您再次将鼠标悬停在它们上方之前不要再次隐藏。

此外,当您在项目之间悬停时,例如 ul li 到另一个级别的 ul li ul li,如果您在移动鼠标时超出一个像素,则子项目会消失。这在技术上是脚本应该做的,但我该如何添加一个小延迟?

这是我的 jquery:

$(function() {
$('ul.sub-menu').hide();
$('.sub-menu ul').hide();

$('#menu-navigation li').hover(function(){
    $(this).children('ul').slideDown("fast");
    },
function(){
    $(this).children('ul').hide();
});

$('#menu-navigation ul li').hover(function(){
    $(this).children('ul').slideDown("fast");
    },
function(){
    $(this).children('ul').hide();
});

});

【问题讨论】:

    标签: jquery drop-down-menu delay html-lists


    【解决方案1】:

    试试这个:

    function(){
      var element=this;
      Timeout( function(){
        $(element).find('>ul').fadeOut('slow')
        }, 2000 );
    }
    

    【讨论】:

    • 感谢 Shree,我将把这段代码放在我的脚本中的哪个位置?我不确定我是否完全理解它的作用,因此我不确定应该如何实现它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多