0

当您使用鼠标进入 .li_group 类时,它会在 1 个单个<li>标签上产生向下滑动效果,一切顺利,但在延迟期间,如果您将鼠标移开并打开 .li_group,它会“排队”效果并将 li 向下滑动、延迟、滑动它再次下降等等......我已经尝试了我能想到的所有方法,甚至是 stop(); 但它仍然这样做......

我使用 mouseenter 而不是 hover 的原因是因为它更适合 ul / li 列表

$(".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'); 
       }
    });
4

1 回答 1

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()

于 2010-02-16T20:58:16.747 回答