Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema image.onload

  1. #1

    problema image.onload

    salve ho questo script in jQuery per il caricamento delle immagini e apertura della stessa immagine:

    codice:
    $(function(){
    	$("ul.thumb a").bind("click", function(){
    		
    		var immagine=new Image();
    		immagine.src=$(this).attr("rel");
    		
    			var box=$("div.rightgallery");
    			box.children().fadeOut("fast", function(){
    				box.children().attr("src","../../images/document/preload.gif").fadeIn("fast");
    				
    				immagine.onload = function(){
    					
    					box.children().fadeOut("fast").attr("src",immagine.src).fadeIn("fast");
    					
    				}
    				
    			});
    		
    	});
    });
    il percorso della immagine passa perche lo verificato con un alert e solo che quando arriva a onload non va avanti. e come se non trovasse l'immagine

  2. #2
    da come ho notato non parte la funzione onload funge bene come posso far partire la funzione???

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    domanda... perché setti l'onload solo a fadeout eseguito?
    l'onload deve essere definito prima dell'attribuzione del src o può verificarsi questo comportamento

    La logica del tuo script mi sfugge...
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    ho provato a cambiar anche in questo modo:

    immagine.onload() = box.children().fadeOut("fast").attr("src",immagine .src).fadeIn("fast");

    ma nulla.

  5. #5
    fcaldera il caricamento dell'immagine non sta in immagine.src???

    che centra ora quello che dici te???

    l'attributo src prende da immagine.src

    da quello che ho fatto ho una immagine all'apertura, cliccando su un thumb di immagine a sinistra l'immagine di apertura prende l'attributo di preload.gif e rimane così finche immagine.src non viene carica, una volta carica l'attributo src dell'immagine di apertura prende il valore di immagine.src.

    Questo e quello che voglio fare.

  6. #6
    trovato il problema

    codice:
    		immagine.onload = function(){
    			$("div#preload").fadeOut("fast", function(){ $(this).remove(); 
    				$("div.rightgallery>img").attr("src",immagine.src).fadeIn("fast");
    			});
    		}
    non capisco il perchè l'errore sono una delle 2 stringhe in rosso.

    onload funge perchè se tolgo quelle 2 stringhe mi funziona.

  7. #7
    bene da come mi avete consigliato lo modificato così:

    codice:
    $("ul.thumb li a").click(function(){
    		
    $("div#immagine").fadeOut("fast", function(){
    $("div.rightgallery").append("<div id=\"preload\"><img src=\"../../images/document/preload.gif\" /></div>");
    $("div#preload").fadeIn("fast");
    		
    var immagine=new Image();
    immagine.onload = function(){
    			
    immagine.src=$(this).attr("rel");
    $("div#preload").fadeOut("fast", function(){
    $("div#preload").remove();
    $("div#immagine").html("<img src=\"" + immagine.src + "\" />").fadeIn("fast");
    });
    }
    		
    });
    		
    });
    ma continua a darmi il problema che il preload non viene tolto e devo cliccare 2 volte sul thumb per far scomparire il preload e comparire l'immagine.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.