Mostrar tela de loading antes de carregar conteúdo
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"> </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 e 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!


Deixe um comentário