JQuery取消下拉列表/在快速悬停操作时向下滑动列表

JQuery cancel dropdown / slide down of list on quick hover action

本文关键字:列表 操作 悬停 下拉列表 取消 JQuery      更新时间:2023-09-26

当鼠标只悬停在悬停区域时,是否有任何方法可以取消列表的下拉?

当鼠标在UL上大约一秒钟后,我想下拉/向下滑动列表。

干杯

您最好点击切换下拉菜单,而不是悬停。这就解释了为什么。

如果你必须在悬停时这样做,你可以简单地设置一个计时器。

$('.myElement').hover(function() {
    var myElement = $(this);
    setTimeout(function() {
        if(myElement.is(':hover'))
        {
            // Do drop down here
        }
    }, 1000);
})

编辑:这可能在jQuery1.8之后不起作用,另一种方法是使用类:

$('.toggleDropdown').hover(function() {
    $('ul', this).addClass('hover');
    setTimeout(function() {
        $('.hover').stop().slideDown(500);
    }, 1000);
}, function() {
    $('ul', this).removeClass('hover');
})

就像这样:JSFiddle。