Neste artigo você vai aprender a como checar se imagem foi carregada com JavaScript, vem conferir como é simples fazer isso!
Fala programador(a), beleza? Bora aprender mais sobre JavaScript!
Introdução
Em muitos projetos web, as imagens desempenham um papel crucial na experiência do usuário e no design do site.
No entanto, às vezes, o carregamento de imagens pode ser lento ou encontrar problemas, como imagens quebradas ou ausentes.
Neste artigo, vamos explorar como checar se uma imagem foi carregada com JavaScript, garantindo que a experiência do usuário seja aprimorada e evitando problemas de exibição.
O evento onload
Uma maneira simples de checar se imagem foi carregada com JavaScript é usar o evento onload.
O evento onload é disparado quando um recurso, como uma imagem, termina de carregar.
Vamos ver um exemplo de como utilizar o evento onload:
const img = new Image(); img.src = 'https://exemplo.com/minha-imagem.jpg'; img.onload = function() { console.log('A imagem foi carregada com sucesso.'); }; img.onerror = function() { console.log('Ocorreu um erro ao carregar a imagem.'); };
Neste exemplo, criamos um novo objeto Image e atribuímos a URL da imagem ao atributo src.
Em seguida, adicionamos um manipulador de eventos onload, que é chamado quando a imagem é carregada com sucesso.
Também adicionamos um manipulador de eventos onerror para lidar com possíveis erros no carregamento da imagem.
Usando Promises
Outra abordagem para checar se uma imagem foi carregada com JavaScript é usar Promises. As Promises permitem escrever um código assíncrono mais limpo e fácil de entender.
Veja um exemplo:
function loadImage(url) { return new Promise((resolve, reject) => { const img = new Image(); img.src = url; img.onload = function() { resolve(img); }; img.onerror = function() { reject(new Error('Ocorreu um erro ao carregar a imagem.')); }; }); } loadImage('https://exemplo.com/minha-imagem.jpg') .then(img => { console.log('A imagem foi carregada com sucesso:', img); }) .catch(error => { console.error('Ocorreu um erro ao carregar a imagem:', error); });
No exemplo acima, criamos uma função loadImage que recebe uma URL e retorna uma Promise.
A Promise é resolvida com sucesso quando a imagem é carregada e rejeitada quando ocorre um erro.
Verificando o carregamento de várias imagens
Em alguns casos, pode ser necessário checar se várias imagens foram carregadas antes de prosseguir com outras operações. Neste cenário, podemos utilizar a função Promise.all.
Veja um exemplo:
const urls = [ 'https://exemplo.com/imagem1.jpg', 'https://exemplo.com/imagem2.jpg', 'https://exemplo.com/imagem3.jpg' ]; Promise.all(urls.map(loadImage)) .then(images => { console.log('Todas as imagens foram carregadas com sucesso:', images); }) .catch(error => { console.error('Ocorreu um erro ao carregar uma ou mais imagens:', error); });
Neste exemplo, usamos a função loadImage criada anteriormente e a função Promise.all para checar se todas as imagens em um array de URLs foram carregadas com sucesso.
A função Promise.all recebe um array de Promises e retorna uma nova Promise que é resolvida quando todas as Promises no array são resolvidas.
Se alguma das Promises for rejeitada, a Promise.all também será rejeitada.
Lidando com imagens em elementos HTML
Se você já tem elementos de imagem em seu HTML e deseja verificar se eles foram carregados, pode usar um método semelhante aos exemplos anteriores:
<img id="minha-imagem" src="https://exemplo.com/minha-imagem.jpg" alt="Exemplo de imagem" />
const imgElement = document.getElementById('minha-imagem'); imgElement.onload = function() { console.log('A imagem foi carregada com sucesso.'); }; imgElement.onerror = function() { console.log('Ocorreu um erro ao carregar a imagem.'); };
Neste exemplo, selecionamos o elemento de imagem no HTML usando getElementById
e adicionamos manipuladores de eventos onload e onerror, como nos exemplos anteriores.
Quer aprender mais sobre React? Confira o vídeo abaixo:
Conclusão
Checar se uma imagem foi carregada com JavaScript é fundamental para garantir que os usuários tenham uma experiência de navegação agradável e sem problemas com as imagens em seu site.
Neste artigo, exploramos diferentes abordagens para verificar o carregamento das imagens, como o uso do evento onload, Promises e a função Promise.all.
Essas técnicas podem ser facilmente adaptadas para atender às necessidades específicas de seu projeto e melhorar a experiência do usuário.
Está buscando em evoluir como Programador? Confira o nossos cursos clicando aqui.
Nosso principal objetivo é tornar você um dev profissional que é capaz de resolver problemas de alta dificuldade e criar projetos complexos, através de uma metodologia planejada nos mínimos detalhes, após formar muitos outros desenvolvedores.
Cursos com vários projetos, exercícios, material apoio, comunidade de alunos e muito mais!