Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    capire quando x immagini sono state caricate

    ciao a tutti! ho un arrai di immagini, devo lanciare la funzione "elabora" una volta che tutte queste sono caricate, ho scritto:
    codice:
    conta_load=0; img_load=new Array();
    for(i=0;i<immagini.length;i++){
    	img_load[i]=new Image();
    	img_load[i].src=immagini[i].img;
    
    	img_load[i].onload = function(){
    		if(conta_load==immagini.length){elabora();}
    	};
    }
    ma non entra mai nella funzione di onload, come mai?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A) La variabile immagini cos'è non essendo definita?
    B) Quando richiami la funzione/script?
    C) Non è meglio fare un preload d'immagini?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    Originariamente inviato da cavicchiandrea
    A) La variabile immagini cos'è non essendo definita?
    B) Quando richiami la funzione/script?
    C) Non è meglio fare un preload d'immagini?
    A e B) quello che ho scritto è solo una pezzettino di codice, vediamolo così:
    codice:
    <script>
    var immagini=[{img:"/...png",...},....];
    function elabora(){...}
    //qui il codice scritto nel precedente post
    </script>
    C) come si fa?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da iacoposk8
    A e B) quello che ho scritto è solo una pezzettino di codice, vediamolo così:
    codice:
    <script>
    var immagini=[{img:"/...png",...},....];
    function elabora(){...}
    //qui il codice scritto nel precedente post
    </script>
    Scusa, ma per me hai una logica difficile da capire e da spiegare attendi commenti/consigli più utili
    C) come si fa?
    Cerca sul forum (anche discussioni utili post in evidenza) o su google trovi diversi esempi.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non vedo dove incrementi il contatore conta_load, come potrà mai essere uguale a immagini.length se rimane sempre a zero?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    hai ragione, quello è un errore, però col firebug ho visto che nemmeno arrivo nella funzione di onload

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ma inserisci le immagini nella pagina? altrimenti è ovvio che la funzione load non viene richiamata, cosi come hai scritto il codice quello che fai è semplicemente creare più oggetti image, tutto qui.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    codice:
    <script type="text/javascript" language="JavaScript">
    function preLoad(pics){
    	var imgObjs = new Array(pics.length);
    	var loaded = 0;
    	
    	if (document.getElementById || document.all)
    	{
    		for (i=0; i<pics.length; i++)
    		{
    			imgObjs[i] = new Image();
    			imgObjs[i].onload = imgLoaded;
    			imgObjs[i].src = pics[i];
    		}
    	}
    
    	function imgLoaded() {
    		loaded++;
    		if (loaded>=pics.length){
    			alert("ho fatto");
    			return;
    		}
    	}
    }
    
    var pics = new Array("ban2.gif","ban1.gif","ban3.gif");
    window.onload=function(){
    	preLoad(pics);
    }
    </script>
    riesumando gli scritp di un sito a caso:
    http://javascript.html.it/script/ved...ndirizzamento/

    sono arrivaoto alla sintesi di questo scrit, dove nell'alert "ho fatto" si può reindirizzare dove si vuole

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ok, non avevo capito. Si è come dici, al posto dell'alert puoi metterci quello che ti pare. Gestisci anche l'errore (onError) cosi da assicurarti che non ci sia qualche errore nel caricamento delle immagini(path errato per esempio).

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.