Domanda

Ho una semplice lista non ordinata con voci di elenco come voce di menu Ho creato il jquery solo per avere un effetto buffo rollover essere:

$('#nav ul ul li').hover(function(){
$(this).animate({ 
        marginLeft: "20px",
      }, 300 );
}, function(){
$(this).animate({ 
        marginLeft: "0px",
      }, 300 );
});

Il problema con questo script è, se si punta sul menu più volte, una coda di animazione si accumula. Ho cercato di utilizzare .Stop () nel mezzo, ma poi si ferma anche le animazioni da altri elementi di elenco che dovrebbero ritornare allo stato in ogni caso predefinito. c'è un modo per fermare () la coda per articolo? ma non per l'intera lista?

È stato utile?

Soluzione

non vedo il motivo per cui $ (this) .Stop () .animate (...) non funziona per voi, ma si può anche provare questo approccio:

$(":not(:animated)", this).animate(...)

che attiverà solo l'animazione su elementi che non sono attualmente animati

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top