Pergunta

Eu sou o carregamento html de uma solicitação ajax, e alguns img no-lo.

Eu preciso saber quando as imagens carregadas no ajax são totalmente carregado para redimensionar o recipiente. Eu não sei quantas imagens estão no resultado, então eu não posso simplesmente verificar o .complete valor.

Você conhece uma solução para isso?

Obrigado!

Leandro

Foi útil?

Solução

Se você estiver usando jQuery, o comando $(window).load() pode configurar uma função a ser chamada quando todas as imagens são carregadas, conforme a seguir:

$(window).load(
    function() {
        // weave your magic here.
    }
);

Se você não estiver usando jQuery, eu tinha acabado de fazer o que eu fiz quando eu quero um pouco pouco de sua funcionalidade: baixá-lo e examinar a fonte para ver como ele faz isso . Em seguida, faça o seguinte: -)

Outras dicas

XMLHttpRequests têm propriedades que você pode usar para determinar quando a carga foi concluída. Se você estiver usando javascript diretamente, você precisa atribuir uma função ao evento onreadystatechange. Isso é chamado cada vez que o estado muda. Os estados são armazenados em ReadyState e são: 0 Uninitiated 1 Carregando 2 Loaded 3 interactivo 4 completa

Na sua função de verificar que o status é de 4 e chamar as outras funções necessárias

JQuery tem eventos que indicam quando certas coisas ocorreram. visualizar a documentação AJAX

Ok, graças a Pax, eu encontrei a solução.

No sucesso caso do pedido ajax (usando jQuery), eu adicionei o seguinte código:


$('img', this).load(function() {
    resize_element(this);
});

Graças tanto de você!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top