jquery问题,在mouseenter队列上禁用

时间:2010-02-16 20:41:06

标签: jquery slideup mouseleave slidedown mouseenter

当你进入.li_group类时,它会对单个<li>标签执行下滑效果,一切顺利,但在延迟期间,如果你将鼠标关闭并打开.li_group,它会“排队”效果,滑下李,延迟,再滑下来等等......我已经尝试了各种我能想到的方式,甚至停止();但它仍然这样做......

我使用mouseenter而不是悬停的原因是因为它对ul / li list

效果更好
$(".li_group").live('mouseenter',function(){
        var id = "#ec1";  
        $(id).slideDown();                               
    }).live('mouseleave',function(){
     if (jQuery.support.cssFloat==true || getInternetExplorerVersion() > 7)  {      //ie < 8 endless up/down on close
        var id = "#ec1";  
         $(id).delay(5000).slideUp('fast'); 
       }
    });

1 个答案:

答案 0 :(得分:2)

当您使用.stop()时,您是否也清除了队列并跳转到了结尾?例如,

$(".li_group")
    .live('mouseenter',function(){
        var id = "#ec1";  
        $(id).stop(true, true).slideDown();                               
    })
    .live('mouseleave',function(){
       //ie < 8 endless up/down on close
       if (jQuery.support.cssFloat==true || getInternetExplorerVersion() > 7)  {      
           var id = "#ec1";  
           $(id).stop(true, true).slideUp('fast'); 
       }
    });

我已经接听了delay(5000)电话,因为我认为这是为了防止你遇到的问题。我还建议您在选择器中使用标记名称,以帮助那些没有document.getElementsByClassName()的浏览器