Como fazer loading em conteúdos do site

Aprenda como fazer loading em conteúdos do site, fazendo carregamento de conteúdos ou do site inteiro. Saiba como usar o jLoader.

Como fazer loading em conteúdos do site: caneca ilustrativa

Quando o assunto é desenvolvimento web, os visitantes de sites não têm muita paciência para esperar… Estudos mostram que se o site não apresentar algum feedback (mostrar alguns elementos/conteúdos) em poucos segundos, a pessoa desiste de esperar e abandona o site – com grandes probabilidades de não mais retornar.

Uma das funções mais interessantes é apresentar um loading (vulgo “carregamento”) indicando quantos por cento (%) do site estão carregados e o que ainda falta, mostrando para o visitante este feedback que ele precisa para ter certeza de que “coisas” estão acontecendo.

Depois do advento do AJAX, nos anos 90 do século passado, e surgimento de muitos bons frameworks para front-end depois disso, tais como jQuery, os programadores contamos com excelentes ferramentas e recursos para acelerar o carregamento e melhorar a performance de sites, sendo possível realizar funções, efeitos e interações que, pouco tempo atrás, não eram sequer imaginadas.

Uma das interações é fazer loading em conteúdos do site, ou, mesmo, em páginas inteiras do site, e uma das maneias de se fazer isso é usando o plugin para jQuery jLoader.

jLoader: dinâmica

É possível ver no site oficial do jLoad que está licenciado sob a GNU GPL v3, então seu uso é grátis e pode ser feito sem maiores complicações.

O que o plugin permite é mostrar uma barra de carregamento para elementos específicos da página (lembrando que “body” também é um elemento da página). Quer dizer, é possível tanto carregar elementos específicos da página (e o jLoader permite fazer múltiplos carregamentos simultâneos), quanto carregar a página inteira, colocando o loader no documento inteiro.

Algumas das características do jLoader são:

  • Múltiplos loadings simultâneos na mesma página
  • Acompanha redimensionamento da janela
  • Se o elemento-alvo tiver imagem de background ou for uma imagem, isso é levado em consideração
  • Função para interromper loadings em triggers de eventos
  • Dentre outros

jLoader: funcionamento

O plugin é leve (8KB) e conta com somente 1 arquivo (nada de CSS externo). Como citado, é possível fazer carregamento para vários elementos da página ao mesmo tempo; para cada um deles, o método construtor pode receber argumentos de personalização:

  • overlayColor. Hexadecimal da cor de background do loading (padrão “#000″).
  • userCallback. Função para quando o carregamento termina (padrão “null”).
  • showProgress. Se a barra de loading vai ou não aparecer (padrão “false”).
  • showProgressText. Se o número da porcentagem vai ou não aparecer (padrão “false”).
  • progressColor. Hexadecimal para a cor da barra de progresso (padrão “#FFF”).
  • textColor. Hexadecimal para a cor dos números da porcentagem (padrão “#FFF”).
  • textSize. Tamanho do texto para os números da porcentagem (padrão “15″).
  • loaderPosition. Reposiciona o loader no overlay; por padrão é centalizado (usa-se “loaderPosition:{top:y,left:x}”).

Não são tantas opções, assim, mas já dá para fazer um nível de personalização bem interessante. Vamos ver em alguns exemplos.

jLoader: exemplo 1

Como primeiro exemplo, vamos imaginar que queremos fazer loading em um elemento de id “escopo”, mostrando a barra de progresso e o texto da porcentagem de carregamento com texto 20 e, após o fim do carregamento, dar o trigger para a função showContent().

1
2
3
4
5
6
7
8
9
10
11
12
jQuery(document).ready(function($){
    var loader = new Loader('#escopo',
        {
	    showProgress:true,
	    showProgressText:true,
	    textSize:20,
	    userCallback:showContent
	}
    );
 
    loader.Start();
});

jLoader: exemplo 2

Loadin no elemento de id “noticias”, com fundo “#0B274C” e cor da barra de carregamento “#F6911E”.

1
2
3
4
5
6
7
8
9
10
11
12
jQuery(document).ready(function($){
    var loader = new Loader('#noticias',
	{
	    showProgress:true,
	    showProgressText:true,
	    overlayColor:'#0B274C',
	    progressColor:'#F6911E'
	}
    );
 
    loader.Start();
});

jLoader: exemplo 3

Loading o site inteiro, com todas as configurações padrão, exceto o tamanho do texto, que será “10″.

1
2
3
4
5
6
7
8
9
jQuery(document).ready(function($){
    var loader = new Loader('body',
	{
	    textSize:10
	}
    );
 
    loader.Start();
});

Outras customizações

Estamos falando de arquivos javascript, meus amigos, e, mesmo que não haja uma função pré-definida e/ou você queira fazer ajustes mais “pesados”, diretamente no core do plugin, basta abrir o arquivo que você baixou e realizar as mudanças que quiser…

Por exemplo, se quiser aumentar a espessura da barra de loading (que, por padrão, é de 1px), simplesmente abro o arquivo, procura o trecho de código que especifica essa características (na atual versão do jLoader, a 1.1.1, esta característica está na linha 139 do arquivo jLoader.js).

Assim como foi explicado no artigo sobre criação de URLs amigáveis com slugs, o mesmo vale para qualquer script pronto: basta abrir, estudar e fazer as modificações que cabem ao projeto/resultado pretendido.

Conclusão

Certamente, uma das maiores questões de muitos desenvolvedores é como fazer loading no site. Usando o jLoader, isto está resolvido.

Mas, atenção: não é só porque existe o recurso de carregamento, que este deve ser usado em todo e qualquer elemento de todos os sites do mundo… Há que se levar em consideração o escopo do projeto e se, realmente, existe a necessidade e/ou conveniência em usar o recurso.

Se realmente for necessário, use o jLoader para fazer loadings de elementos no site (ou páginas completas) e desfrute das facilidades de fazer isso de forma tão simples, aumentando a boa experiência que os visitantes terão!