jQuery simples menu roll-over (sem fila de animação)
Pergunta
Eu tenho uma lista simples não ordenada com itens de lista como item de menu que criei o jQuery apenas para ter um efeito engraçado de rolagem:
$('#nav ul ul li').hover(function(){
$(this).animate({
marginLeft: "20px",
}, 300 );
}, function(){
$(this).animate({
marginLeft: "0px",
}, 300 );
});
O problema com esse script é que, se você se apressar várias vezes, uma fila de animação aumenta. Tentei usar .Stop () no meio, mas também interrompe as animações dos outros itens da lista que devem retornar ao estado padrão em qualquer caso. Existe uma maneira de parar () a fila por item? Mas não para toda a lista?
Solução
Eu não vejo por que $ (isso).Pare().animate (...) não está funcionando para você, mas você também pode tentar esta abordagem:
$(":not(:animated)", this).animate(...)
que apenas desencadeará a animação em elementos que não estão atualizados atualmente
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow