113 of 119 menu

Método animate

O método animate permite criar efeitos de animação para várias propriedades CSS. O único parâmetro obrigatório - um objeto com propriedades CSS, semelhante ao que passamos para o método css. Muitas propriedades que têm valores não numéricos ou vários valores não podem ser animadas pela funcionalidade básica do jQuery (por exemplo background-color). Também nem sempre são suportados nomes abreviados de propriedades CSS, por exemplo font - em vez disso, deve usar fontSize ou font-size. Antes dos valores, pode colocar '+=' ou '-=', neste caso o valor especificado a seguir será adicionado ou subtraído do valor atual da propriedade. Também em vez de valores numéricos pode colocar show, hide ou toggle. Todos os efeitos jQuery, incluindo animate, podem ser desativados globalmente, usando a configuração jQuery.fx.off = true, que define o valor da duração para 0.

Sintaxe

O primeiro parâmetro da animação é um objeto com propriedades CSS e seus valores no formato chave: valor, que pretendemos animar. Os restantes parâmetros são considerados opcionais. O segundo parâmetro - define a duração da animação em milissegundos, 400ms por padrão. O terceiro parâmetro é a função de easing para a transição (por padrão é swing), e o quarto - uma função de callback, que será executada após a conclusão da animação:

.animate(propriedades, [duração ], [função de easing ], [função de callback ]);

O tempo pode ser definido não apenas em milissegundos, mas também com as palavras-chave slow (600ms) e fast (200ms), quanto maior o valor, mais lenta a animação. Pode passar ao método várias opções como segundo parâmetro, na forma de um objeto JavaScript, contendo pares chave: valor:

.animate(propriedades, opções);

Por exemplo, vamos definir para as propriedades CSS width e height o valor toggle. A duração em 5000ms, passaremos as funções de easing na forma de objeto, para a largura será uma função linear, e para a altura - easeOutBounce, também após a conclusão da animação, a função será executada uma vez (ver a chave complete), que após o elemento com #test colocará um div com a inscrição 'Animation complete.':

$('#test').animate({ width: 'toggle', height: 'toggle' }, { duration: 5000, specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });

Abaixo na tabela são apresentadas as propriedades e métodos do objeto options e sua descrição:

Nome Descrição
duration Duração da animação em milissegundos - string ou número. 400ms por padrão.
easing Define qual função de easing usar. swing por padrão.
queue Valor booleano ou string. true por padrão. Indica - se deve colocar a animação na fila. Com o valor false a animação começará imediatamente. Se o parâmetro for passado como string, então a animação será colocada na fila representada por este parâmetro. Ao usar uma fila com um nome personalizado, a animação não inicia automaticamente, para iniciá-la - use dequeue('nomeDaFila').
specialEasing Aqui você pode passar um objeto, onde as chaves serão propriedades CSS, e os valores - as funções de easing correspondentes a elas.
step Função que é chamada para cada propriedade animada de cada elemento animado. Ela permite modificar o objeto Tween para alterar o valor da propriedade antes que ele seja definido. Como parâmetros, aceita o valor atual de tween e o objeto Tween.
progress Função chamada após cada passo da animação, apenas uma vez para cada elemento, independentemente do número de propriedades animadas. A função aceita três parâmetros animation (como uma promessa), progress (número de 0 a 1) e remainingMs (número de milissegundos restantes).
complete Função chamada uma vez após o término da animação do elemento. A função aceita animation (como uma promessa).
start Função que é chamada quando a animação do elemento começa. A função aceita animation (como uma promessa) e jumpedToEnd (Valor booleano. Se true, então a animação automaticamente é concluída).
done Função que é chamada quando a animação do elemento termina (sua promessa é cumprida com sucesso). A função aceita animation (como uma promessa) e jumpedToEnd (Valor booleano. Se true, então a animação automaticamente é concluída).
fail Função que é chamada quando a animação do elemento termina com erro (sua promessa é rejeitada). A função aceita animation (como uma promessa) e jumpedToEnd (Valor booleano. Se true, então a animação automaticamente é concluída).
always Função que é chamada quando a animação do elemento é concluída ou parada sem conclusão (sua promessa é cumprida com sucesso ou rejeitada). A função aceita animation (como uma promessa) e jumpedToEnd (Valor booleano. Se true, então a animação automaticamente é concluída).

Exemplo

Vamos, ao clicar no botão #left, mover o quadrado verde para a esquerda, e no botão #right para a direita em 50px, também vamos definir a duração para 600ms - com o comando slow:

<button id="left">left</button> <button id="right">right</button> <div class="block"></div> div { position: absolute; background-color: green; left: 50px; width: 100px; height: 100px; margin: 5px; } $('#right').click(function() { $('.block').animate({'left': '+=50px'}, 'slow'); }); $('#left').click(function() { $('.block').animate({'left': '-=50px'}, 'slow'); });

Veja também

  • método show,
    que exibe elementos suavemente
  • método stop,
    que permite parar uma animação em execução
  • método delay,
    que define um atraso na execução de eventos
  • propriedade jQuery.fx.off,
    que permite desativar a animação globalmente
  • seletor animated,
    que seleciona elementos que atualmente estão envolvidos em uma animação
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar