English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
jQuery nos permite criar animações personalizadas.
jQuery animate()O método realiza animação personalizada em um grupo de atributos CSS.
Este éanimate()Sintaxe do método:
$(selector).animate({styles}, duration, easing, callback)
Parâmetros:
{styles} -Especificar o objeto CSS do atributo e valor para o qual a animação se moverá
duration -Determinar o tempo de execução do efeito de animação. Valores possíveis: "slow", "fast" ou milissegundos
easing -Indica a função de suavização a ser usada para a transição. Valores possíveis: "swing", "linear"
callback-Especificar a função a ser chamada após a conclusão do método animate()
A seguinte exemplo altera a largura do elemento para definir animação:
$("button").click(function(){ $("div").animate({width: "}500px''}); });Teste e veja‹/›
O exemplo a seguir anima o elemento através da alteração da posição do elemento:
$("button").click(function(){ $("div").animate({left: ''500px''}); });Teste e veja‹/›
Por padrão, todos os elementos HTML têm posição estática e os elementos estáticos não podem ser movidos.
Para manipular a posição, lembre-se de primeiro definir o CSS do elemento PosiçãoAs propriedades podem ser relativas, fixas ou absolutas.
Podemos definir animação para várias propriedades de um elemento ao mesmo tempo.
$("button").click(function(){ $("div").animate({ width: ''500px'', height: ''400px'', opacity: ''0.3, left: ''50px'' }); });Teste e veja‹/›
O exemplo a seguir demonstra usando animate():durationeeasingParâmetros:
$("button").click(function(){ $("div").animate({ width: ''500px'', height: ''400px'' }, 4000, ''linear''); });Teste e veja‹/›
O exemplo a seguir demonstra usando animate():CallbackParâmetros:
$("button").click(function(){ $("div").animate({ width: ''500px'', height: ''400px'' }, 500, ''linear'', function() { $("this").after("<h2>A animação foi concluída</h2'' }); });Teste e veja‹/›
Ponto a ser lembrado ao usar o método animate():
Todas as propriedades de animação devem ser definidas como um único valor numérico (por exemplo, largura, altura ou valor de esquerda).
Os valores de string não podem ser definidos como animação (por exemplo, cor de fundo)
Para definir a animação da cor de fundo, usePlugin de cor do jQuery
Quando usado com o método animate(), os nomes das propriedades devem ser camelCase, como: você deve usar paddingTop em vez de padding-cima, usando marginLeft em vez de margin-esquerda, etc.
Por padrão, o jQuery tem a função de fila de animação.
Dentro da fila, uma ou mais funções esperam ser executadas.
Isso significa que, se você escrever várias chamadas de animate() uma após a outra, o jQuery criará uma "fila interna" usando esses métodos. Em seguida, ele executará chamadas de animação uma por uma.
O exemplo a seguir altera primeiro a largura do elemento DIV, então a altura e, em seguida, aumenta o tamanho da fonte do texto:
$("button").click(function(){ let div = $("div"); div.animate({width: ''500px''}); div.animate({height: ''200px''}); div.animate({fontSize: ''10em''}); });Teste e veja‹/›
Podemos usar a função de link do jQuery para animar várias propriedades de um elemento em uma fila uma após a outra.
$("button").click(function(){ $("div") .animate({width: ''500px''}) .animate({height: ''200px''}) .animate({fontSize: ''10em"}) .animate({opacity: 0.3}); });Teste e veja‹/›
Você vai aprender mais sobre links na parte posterior deste tutorial.
Os atributos de animação também podem ser relativos. Se um valor for fornecido com um prefixo+ou-Se for fornecido um caractere de igualdade, a valor alvo é calculado adicionando ou subtraindo o número dado do valor atual da propriedade.
$("p").click(function(){ $(this).animate({ fontSize: ""+=5px", padding: ""+=10px" }); });Teste e veja‹/›
Além disso, podemos especificar o valor de animação da propriedade "show", "hide" ou "toggle":
$("button").click(function(){ $("div").animate({height: "toggle"}); });Teste e veja‹/›
Para referências completas de efeitos, acesse nossoManual de Referência de Efeito do jQuery.