Carregando...

Mostrar tela de loading antes de carregar conteúdo

Postado: 25 de novembro de 2022 Tempo de Leitura: 2 Minutos

Mostrar tela de loading antes de carregar conteúdo

O site deve iniciar com a classe .loader-pin no body, e via jQuery ela será removida após o carregamento completo da página. Isso me permite manipular

Neste tutorial vamos criar uma tela de loading antes de carregar conteúdo com Css Html e jquery.

Nesta seção, projetaremos uma estrutura das seguintes tags abaixo. 

Tag: <div> e a tag <span> para inserirmos os itens e classes na <div>.

Essas tags usaremos para criar a nossa Tela de carregamento com html e css.

Vamos Adicionar o HTML

<!--PreLoader-->
<div id="preloader">
        
    <div id="status">&nbsp;</div>
    <div class="loader">

            <span class="loader-pin"></span>
            <span class="title">Carregando...</span>

    </div>

</div>
<!--PreLoader-->

Vamos Adicionar o CSS

Nesta seção, usaremos algumas propriedades CSS para estilizar a nossa Tela de carregamento.

:root {

  --cor-amarelo: #ffef00;
  --cor-branco: #ffffff;
  --cor-preto: #242424;
  --cor-vermelho: #b50000;

}

div#preloader {

  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--cor-branco);
  z-index: 99999;

}

.loader .title {

  color: var(--cor-preto);
  font-size: 14px;
  letter-spacing: 2px;
  font-weight: lighter;
  text-align: center;
  font-family: arial;

}

.loader {

  position: absolute;
  top: 50%;
  left: 50%;
  margin-top:-50px; 
  margin-left:-50px;

}

/*Loader Pin*/

.loader-pin {

  width: 50px;
  height: 50px;
  display: block;
  margin-bottom: 40px;
  box-sizing: border-box;
  position: relative;
  margin-left: 25px;

}

.loader-pin::after {

  content: '';  
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  left: 0;
  bottom: 0;
  position: absolute;
  border-radius: 50% 50% 0;
  border: 12px solid #d91616;
  background-color: #b50000;
  transform: rotate(45deg) translate(0, 0);
  box-sizing: border-box;
  animation: animMarker 0.4s ease-in-out infinite alternate;

}

.loader-pin::before {
  
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top:150%;
  width: 24px;
  height: 4px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.2);
  animation: animShadow 0.4s ease-in-out infinite alternate;

}

@keyframes animMarker {
  0% {
    transform: rotate(45deg) translate(5px, 5px);
  }
  100% {
    transform: rotate(45deg) translate(-5px, -5px);
  }
}

@keyframes animShadow {
  0% {
    transform: scale(0.5);
  }
  100% {
    transform: scale(1.1);
  }
}

Agora vamos adicionar o Script

link os arquivos veja o exemplo no código.

obs: você pode baixar os arquivos logo abaixo.

<script src="js/jquery.js"></script>
<script src="js/script.js"></script>

veja o script que será responsável de chamar a animação de carregamento. feita em html CSS.

script.js

$(window).load(function() { // Garante que todo o site seja carregado
  $('#status').fadeOut(); // primeiro desaparecerá a animação de carregamento
  $('#preloader').delay(350).fadeOut('slow'); // desaparecerá o DIV branco que cobre o site.
  $('body').delay(350).css({'overflow':'visible'});
})

Combinando as Três seções acima Html, Css e jQuery temos o seguinte Resultado !

Veja o Resultado baixo!

Baixar Código Veja Funcionando

Publicado por: Loop Nerd

1.673 Visualizações

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Artigos Relacionados