Uma forma de  melhorar performance e reduzir o carregamento de um site com muitas imagens é fazer com que elas sejam carregadas de acordo com a necessidade  de visualização. Para isso foi criado o popular plugin de jQuery, o Lazy Load (que significa carregamento preguiçoso).

O plugin de jQuery Lazy Load é relativamente simples de instalar e nos permite carregar as imagens de acordo com o uso da barra de rolagem do navegador, evitando que sejam carregadas imagens que nem serão vistas.

Por poder acabar tendo que fazer com que o usuário aguarde novos carregamentos várias vezes, use com cuidado. A indicação é para sites mobile (que temos sempre que considerar a falta de velocidade na conexão e custo do uso de dados da internet  móvel) e sites com extensa lista de imagens na mesma página (como os que possuem scroll infinito ou apenas uma página pro site todo).

Como usar

Sendo um plugin de jQuery, é necessário instalá-lo. Inclua os dois no header do seu HTML:

<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>

Devemos alterar o HTML da tag img para usá-lo. Usamos uma imagem padrão que será carregada antes da imagem original no atributo src e o endereço da imagem real no atributo data-original. Uma boa ideia é também atribuir uma classe .lazy apenas às imagens que utilizará, para podermos ter controle específico sobre elas.

É necessário configurar a largura e altura da imagem nos atributos ou no CSS para funcionar corretamente.

Ei! Por acaso você quer aprender a atender online? Baixe o meu e-book Gratuito para saber como começar a fazer atendimentos, consultas, consultorias, aulas, vendas etc na internet: Clique/toque aqui!

<img class="lazy" src="img/grey.gif" data-original="img/example.jpg" width="640" height="480">

Depois , no código javascript inicialize o lazyload nas imagens com classe .lazy:

$("img.lazy").lazyload();

Fallback para navegadores sem javascript

Mesmo que quase todos tenham javascript habilitado, basta adicionarmos a imagem no entre as tags noscript para exibir a imagem normal.

<img class="lazy" src="img/grey.gif" data-original="img/example.jpg" width="640" heigh="480">
<noscript><img src="img/example.jpg" width="640" heigh="480"></noscript>

Para prevenir a exibição da imagem padrão e da real, esconda a padrão com CSS:

.lazy {
  display: none;
}

Então, para os navegadores com javascript habilitado, você deve reforçar que as imagens demonstrativas serão exibidas, usando o seguinte código que também faz o carregamento do plugin:

$("img.lazy").show().lazyload();

 

Mais informações no site oficial doplugin de jQuery Lazy Load.

Seja avisado quando houver novos artigos relevantes por aqui para melhorar a sua eficiência, na sua caixa de e-mail. Basta inserir seus dados abaixo :)