Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Jquery] Animazione funziona solo prima volta...

    Salve ecco il codice di una piccola animazione
    Codice PHP:
    (function($){        
        $(
    'area').css('outline','none');        
        var 
    datamap = new Array();                       
        $(
    'area').click(function(e) {                        
             
    alert("Area Clicked");                    
             
    e.preventDefault();                        
             
    datamap.width = $('#scuoleItalia').width();        
             
    datamap.height = $('#scuoleItalia').height();        
             
    datamap.html = $("#mapContainer").html();                    
             $(
    '#mappaitalia').addClass('zoomed');
             $(
    '#scuoleItalia').css({'width':'150px','height':'175px''margin':0});
             $(
    '#mapContainer').html('');                
             $(
    '#scuoleItalia img').animate({            
                    
    "width"150,
                    
    "height"175        
                    
    }, 500 );    
             });

             $(
    '#mappaitalia').click(function(e) {            
                if($(
    this).hasClass('zoomed')){    
                    
    alert("Mappa Clicked");
                    $(
    this).removeClass('zoomed');
                    $(
    '#scuoleItalia').css({'width':'390px''height':'456px''margin':'0 auto'});                    
                    $(
    '#mapContainer').html(datamap.html);
                    $(
    '#scuoleItalia img').animate({
                           
    "width"390,
                           
    "height"456
                    
    }, 500 );
                }
             }); 

    })(
    jQuery); 
    Non riesco a capire perché funzioni solo la prima volta. Il mio obiettivo è quello di creare una piccola animazione che sposti la cartina dell'Italia in alto a sinistra ogni volta che viene cliccata un'area della mappa. Quando la cartina è piccola in alto a sinistra aggiungo una classe 'zoomed' che mi fa capire che l'animazione è stata eseguita correttamente e che server per far ritornare la cartina grande nello stato iniziale quando ci si clicca sopra. Spero che mi sappiate aiutare perché ci sto sbattendo la testa da 3 ore... Avevo inserito le istruzioni nel document ready... poi ho spostato il tutto in una funzione esterna... ma continua a funzionare solo la prima volta...
    Nel dettaglio ora accade questo:

    La pagina si carica con la cartina grande
    Scelgo una regione cliccandoci su
    Parte l'animazione che sposta la cartina in alto a sinistra riducendo l'img
    Clicco sulla img ridotta (class='zoomed')
    E la cartina ritorna nello stato originario (grande al centro)

    Se scelgo nuovamente una regione (qualsiasi) non funziona più...
    Ultima modifica di Vincent; 26-08-2014 a 10:00

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma $('area')cos'è un oggetto una classe un id? Sicuro non manchi il selettore ./#?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao area sono i tag all'interno di <map>... Comunque ho risolto proprio ora... bisognava utilizzare il metodo .live, perché ricreavo la mappa ogni volta per cui la funzione click non era valida per il nuovo elemento del DOM

    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Ma $('area')cos'è un oggetto una classe un id? Sicuro non manchi il selettore ./#?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    usa .on al posto di live e aggiorna alla versione jquery 1.7 o sup.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ciao utilizzo jquery 1.11.0 ed anche con .on non funziona...
    Funziona solo con .live

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.