Pergunta

Eu tenho uma galeria Eu rapidamente codificado-se de um pequeno local, e no Firefox 3 e Safari 3 funciona bem. Mas quando eu testar no meu antigo melhor amigo IE7, parece não acionar o imageVar.onload = function () {// código aqui} .. que eu quero usar para parar o efeito da carga e carregar a imagem.

Por favor, tenha em mente ...

  • Eu sei que as miniaturas são apenas versão reduzida das imagens maiores. Quando as imagens são finalizados pelo cliente Vou criar miniaturas adequadas.
  • Esta é a minha primeira tentativa para tentar sair de JavaScript processual para a maior parte .. por isso, vá fácil e por favor deixe-me saber onde meu código é uma porcaria!
Foi útil?

Solução

Para uso bem sucedido de Image.onload, você deve registrar o método manipulador de eventos antes do atributo src é definido.

Informações relacionadas nesta pergunta:

Javascript callback para Imagem Carregando

Outras dicas

Suporte evento navegador Cruz não é devido tão simples de diferenças de implementação. Desde que você está usando jQuery em seu site, você é melhor fora de usar seus eventos métodos para suporte ao navegador normalize:

em vez de:

 window.load = function(){ 
      //actions to be performed on window load
 }

 imageViewer.image.onload = function(){ 
     //actions to be performed on image load
 }

Do:

$(window).load(function(){ 
    //actions to be performed on window load
});

 $(imageViewer.image).load(function(){ 
      //actions to be performed on image load
 });

Só para acrescentar à sugestão por Eran usar o jQuery construído em manipuladores de eventos que você pode executar código quando o documento é carregado e o DOM é criado, mas antes que as imagens são baixadas com:

$(document).ready(function(){
   //your code
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top