Atenção!

Este artigo contém código CSS e JavaScript e destina-se a programadores. Oferecemos este código como uma cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação adicional, consulte o tutorial da WPBeginner sobre como adicionar código personalizado e CSS personalizado.

Ignorar

Como Adicionar Folhas de Outono a Cair à Sua Mensagem de Confirmação

Introdução

Tem interesse em adicionar folhas de outono a cair na sua mensagem de confirmação quando um formulário é submetido? Podemos guiá-lo através do processo neste tutorial!

Num tutorial anterior, demonstramos como adicionar confetes e fogo de artifício a cair quando o formulário era submetido. Este tutorial segue uma abordagem semelhante com alguns passos adicionais.

Criação do formulário

Para começar, crie um novo formulário e adicione os seus campos desejados. Se precisar de ajuda com este passo, consulte esta documentação.

crie o seu formulário e adicione os seus campos

Configurar as definições de confirmação

Para obter a animação de folhas de outono a cair, temos de fazer algumas alterações à nossa mensagem de confirmação. Para o fazer, clique em Definições e depois selecione Confirmações. Uma vez lá, clique no separador Texto, uma vez que o próximo passo será adicionar alguns elementos HTML sob a mensagem de confirmação.

clique em Definições e depois em Confirmações para fazer algumas alterações na mensagem de confirmação. Uma vez lá, clique no separador Texto para adicionar algum HTML do próximo passo

Adicionar HTML à sua mensagem de confirmação

Agora que está preparado para incluir HTML na sua mensagem de confirmação, basta copiar e colar o seguinte código na sua caixa de mensagem:

<p>Thanks for your feedback!</p>

<canvas id="canvas" />
<img id="leaf" src="http://mysite.com/path-to-image" />

adicione o HTML acima ao seu separador Texto da mensagem de confirmação

Para o nosso tutorial, estamos a usar uma única folha que cairá continuamente em áreas aleatórias da nossa área de tela. folhas de outono a cair

Terá de alterar a origem da imagem para corresponder a onde carregou a sua folha.

Adicionar o trecho de código de folhas de outono a cair

Agora é hora de adicionar o código que começará a juntar tudo isto. Se precisar de ajuda para adicionar trechos de código ao seu site, consulte este tutorial.

/**
 * Add falling autumn leaves to the canvas element on the confirmation message
 *
 * @link  https://wpforms.com/developers/how-to-add-falling-autumn-leaves-to-your-confirmation-message/
 *
 */
 
function wpf_falling_autumn_leaves_animation() {
    ?>

	<script type="text/javascript">
	let canvas = document.querySelector('canvas');
	let ctx = canvas.getContext('2d');

	canvas.width = document.body.clientWidth;
	canvas.height = document.body.clientHeight;

	let width = canvas.width;
	let height = canvas.height;
	let centerX = canvas.width / 2;
	let centerY = canvas.height / 2;
	let leaf = document.querySelector('#leaf');
	let leafs = [];
	let count = 200;

	for (let i = 0; i < count; i++) {  
	  let angle = 15 + Math.random() * 30
	  let dir = [-1,1][Math.floor(Math.random() * 2)];

	  leafs.push({
		x: Math.random() * width,
		y: Math.random() * height,
		w: 30,
		h: 30 * (leaf.height / leaf.width),
		v: 20 / angle,
		a: angle,
		d: dir,
		anim: true
	  });
	}

	function update(dt) {
	  for (let i = 0; i < leafs.length; i++) {
		if (leafs[i].anim) {
		  leafs[i].y += leafs[i].v;

		  if (leafs[i].y > height) {
			leafs[i].y = -120;
			leafs[i].x = Math.random() * width;
		  }
		}
	  }
	}

	function draw(dt) {
	  requestAnimationFrame(draw);
	  update(dt);

	  ctx.clearRect(0, 0, width, height);

	  for (let i = 0; i < leafs.length; i++) {
		ctx.save();

		if (leafs[i].anim) {
		  ctx.translate(leafs[i].x, leafs[i].y);

		  ctx.rotate(
			leafs[i].d * Math.sin(dt * 0.002 * i * 0.01) * (leafs[i].a) * Math.PI / 180
		  ); 
		} 

		ctx.globalAlpha = Math.max(0, leafs[i].y * 0.1);
		ctx.drawImage(leaf, -leafs[i].w / 2, 70, leafs[i].w, leafs[i].h);

		ctx.restore();
	  }
	}

	draw();
	</script>
<?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_falling_autumn_leaves_animation', 1);

A configuração crítica a notar no trecho acima é let count = 200;. Esta configuração determina a quantidade de folhas de outono a cair exibidas no ecrã. Se aumentar este número, aparecerão mais folhas, enquanto a diminuição resultará em menos folhas.

Adicionar o seu CSS

Para este tutorial, vamos adicionar uma única regra CSS à nossa tela.

Poderá ser necessário CSS adicional dependendo do seu site. Se precisar de ajuda ou tiver mais perguntas, pode sempre juntar-se à nossa comunidade do Facebook para fazer perguntas ou pedir assistência.

canvas {
    display: block;
    position: absolute !important;
    top: 0;
	left: 0;
}

Se precisar de ajuda sobre onde ou como adicionar o seu CSS, consulte este tutorial.

Depois de todos esses passos serem concluídos e um utilizador preencher o formulário, ele verá folhas de outono a cair sobre a mensagem de confirmação.

folhas de outono a cair com animação usando JavaScript e um elemento canvas

E é tudo! Se ainda não viu o nosso tutorial sobre como adicionar confetes à sua mensagem de confirmação, certifique-se de ver o tutorial sobre Como Adicionar Animação de Confetes à Mensagem de Confirmação.

Referência de Ação: wpforms_wp_footer_end