【问题标题】:How to force mouseover event to fire before mouseout event completes如何在 mouseout 事件完成之前强制触发 mouseover 事件
【发布时间】:2015-01-15 23:50:33
【问题描述】:

我正在使用 jquery 来制作一个简单的下拉效果。当用户将鼠标悬停在触发元素上时下拉框会立即出现,并在鼠标离开触发元素时淡出。

$('ul > li').hover(function(){
    $(this).find('#dropDown').show();
},function(){
    $(this).find('#dropDown').fadeOut(1000);
});

问题是,正如您将在this fiddle 中看到的那样,如果 mouseout 事件(下拉框淡出)尚未完成,则 mouseover 事件(出现下拉框)将不会触发。有谁知道是否有办法强制下拉框出现,无论淡入淡出是否完成?

【问题讨论】:

    标签: javascript jquery hover onmouseover mouseout


    【解决方案1】:

    只需使用.finish()完成上一个动画:

    $('ul > li').hover(function(){
        $(this).find('#dropDown').finish().show();
    },function(){
        $(this).find('#dropDown').fadeOut(1000);
    });
    

    fiddle.

    【讨论】:

    • 完美!将在允许的情况下在 9 分钟内接受答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 2013-01-13
    • 2011-04-13
    • 1970-01-01
    相关资源
    最近更新 更多