Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Load html immagini

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    52

    Load html immagini

    Salve,
    sto caricando dei file html usando il metodo load() di jquery, e mi domandavo se esiste un modo per determinare nella funzione di callback quando sono state scaricate tutte le immagini inserite nel file html che carico in ajax.


  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il callback è il response finale pertanto dovrebbero esserci anche le immagini vedi anche qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Se ti può semplificare la vita puoi evitare di usare jQuery e crearti tu un costruttore che si comporti in maniera familiare più o meno sul modello di XMLHttpRequest... Qualcosa del genere:

    codice:
    function ImageLoader () { }
    
    ImageLoader.prototype.onload = null;
    
    ImageLoader.prototype.load = function () {
    	var nStatus = 0, oReq = this, aImgs = [];
    
    	function imgLoaded () {
    		nStatus++;
    		if (nStatus === arguments.length) {
    			if (oReq.onload) { oReq.onload.call(aImgs); }
    		}
    	}
    
    	for (var oImg, nImg = 0; nImg < arguments.length; nImg++) {
    		oImg = new Image();
    		oImg.src = arguments[nImg];
    		oImg.onload = imgLoaded;
    		aImgs.push(oImg);
    	}
    };
    Uso di esempio:

    codice:
    var nuovaRichiesta = new ImageLoader();
    nuovaRichiesta.onload = function () {
    	for (var numImg = 0; numImg < this.length; numImg++) {
    		document.body.appendChild(this[numImg]);
    	}
    };
    nuovaRichiesta.load("Tizio.jpg", "Caio.jpg", "Sempronio.jpg", "Brubru.jpg");
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    52
    In relata mi sono spiegato male, nel senso che io via ajax carico un file html con dentro vari tag: p, h3 e qualche img.
    Il problema capita quando dentro questi html chiamo delle immagini "grandi", quindi vorrei una callback che si attivi alla fine dello scarcamento sia dell'html che di tutte le immagini.

    Per ora ho risolto creando un array di tutte le immagini presenti in questi file html e poi facendo il controllo load su l'ultima. Sembra funzionare....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.