JQuery проблема, отключить в очереди мыши - PullRequest
0 голосов
/ 16 февраля 2010

Когда вы вводите мышью класс .li_group, он выполняет эффект скольжения на 1 одиночном теге <li>, все идет гладко, но во время задержки, если вы убираете мышь и включаете .li_group, она "ставит" в очередь эффект и скользит лежу, откладываю, снова опускаю и т. д. и т. д. ... я пробовал все возможные способы, даже остановки (); но это все еще делает это ...

причина, по которой я использую 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'); 
       }
    });

1 Ответ

2 голосов
/ 16 февраля 2010

Когда вы использовали .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()

...