É possível executar duas animações em dois elementos diferentes simultaneamente? Eu preciso do oposto desta pergunta Jquery animações de filas .
Eu preciso fazer algo assim ...
$('#first').animate({ width: 200 }, 200);
$('#second').animate({ width: 600 }, 200);
mas para executar esses dois ao mesmo tempo. A única coisa que eu conseguia pensar seria usar setTimeout
uma vez para cada animação, mas não acho que seja a melhor solução.
javascript
jquery
animation
Jakub Arnold
fonte
fonte
animate()
funciona, eles deverão ser executados simultaneamente.Respostas:
sim existe!
fonte
queue
variável!Isso seria executado simultaneamente sim. e se você quisesse executar duas animações no mesmo elemento simultaneamente?
Isso acaba enfileirando as animações. para executá-los simultaneamente, você usaria apenas uma linha.
Existe alguma outra maneira de executar duas animações diferentes no mesmo elemento simultaneamente?
fonte
Acredito que encontrei a solução na documentação do jQuery:
basta adicionar:
queue: false
.fonte
Se você executar o que está acima, eles parecerão executar simultaneamente.
Aqui está um código de teste:
fonte
Embora seja verdade que chamadas consecutivas para animar darão a aparência de que estão sendo executadas ao mesmo tempo, a verdade subjacente é que são animações distintas sendo executadas muito próximas do paralelo.
Para garantir que as animações estejam sendo executadas ao mesmo tempo, use:
Mais animações podem ser adicionadas à fila 'minha animação' e todas podem ser iniciadas, desde que a última animação seja removida.
Cheers, Anthony
fonte
Veja esta brilhante postagem no blog sobre como animar valores em objetos. Em seguida, você pode usá-los para animar o que quiser, 100% simultaneamente!
http://www.josscrowcroft.com/2011/code/jquery-animate-increment-decrement-numeric-text-elements-value/
Eu usei assim para deslizar dentro / fora:
fonte
Ao postar minha resposta para ajudar alguém, a resposta mais votada não resolveu meu problema.
Quando implementei o seguinte [da resposta superior], minha animação de rolagem vertical tremeu de um lado para o outro:
Eu me referi a: W3 Schools Set Interval e resolveu meu problema, a saber, a seção 'Sintaxe':
Ter meus parâmetros do formulário
{ duration: 200, queue: false }
forçou uma duração de zero e ele olhou apenas os parâmetros para orientação.A longo e curto, aqui está o meu código, se você quiser entender por que ele funciona, leia o link ou analise os parâmetros de intervalo esperado:
Onde 'autoScroll' é:
Feliz codificação!
fonte