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?

Foi útil?

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
scroll top