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 :)
MBA em Marketing e Branding e graduada em Design, trabalhou por 10 anos prioritariamente como gerente de projetos de agências de marketing digital e performance, já foi diretora de operações e sócia.
Tem experiência também com atividades comerciais, de controle de qualidade, atendimento, planejamento e fez especializações em gestão de processos, gestão financeira, experiência do usuário, design e linguagens de desenvolvimento web.
É diretora financeira e sócia do Fallen Tattoo Studio em Salvador, associada Jeunesse, palestra, escreve conteúdos para este site e outros que possui, e presta consultoria em gestão e otimização de processos principalmente para agências digitais. LinkedIn | Instagram