jQuery.slideUp()效果运行问题

jQuery .slideUp() effect running issue

本文关键字:运行 问题 slideUp jQuery      更新时间:2023-09-26

有人能告诉我为什么效果运行得如此频繁吗。我的意思是,你悬停3次而不必等待效果完成,然后你可以等待效果运行3次。

   $(function() {
            $('#dropdown_nav li').find('.sub_nav').hide();
            $('#dropdown_nav li').hover(function() {
                $(this).find('.sub_nav').slideDown(300);
            }, function() {
                $(this).find('.sub_nav').delay(2000).slideUp(300);
            });
        });

在这里可以进行测试:http://jsfiddle.net/QTGvJ/

使用.stop()将清除动画队列

现场演示

$('#dropdown_nav li').on('mouseenter mouseleave',function() {
      $('.sub_nav', this).stop().slideToggle();
});

鼠标离开延迟:

$('#dropdown_nav li').on('mouseenter mouseleave',function( e ) {
    var delayTime = e.type=='mouseleave' ? 1000 : 0;
    $('.sub_nav', this).stop().delay( delayTime ).slideToggle();
});

带延迟的现场演示2

了解更多信息:http://api.jquery.com/stop/