Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di faro14
    Registrato dal
    Aug 2012
    Messaggi
    199

    problema cambio classe di un tag p con jquery

    Buongiorno,
    Vi espongo il problema, io ho un applicativo composto da menu a sinistra e body a destra, ho creato un tag p che quando cliccato estende il corpo nascondendo il menu oppure, se il corpo è gia esteso, fa ricomparire il menu.
    l'ho strutturato cosi:
    Codice PHP:
    $(document).ready(function() {
         $(
    ".extend").click(function()
        {    
                $(
    "#contMenu").animate({width:'0%'},1000,function(){$("#main").animate({width:'100%'},1000);});
                $(
    this).toggleClass("extend reduce");
        });
        $(
    ".reduce").click(function()
            {
                    $(
    "#main").animate({width:'77%'},1000,function(){$("#contMenu").animate({width:'23%'},1000);});
                    $(
    this).toggleClass("reduce extend");
            });
    }); 
    Codice PHP:
    <class="extend"></p
    all'inizio il menu ha width=23% e il corpo 77%.
    quando restringo il menu funziona mentre quando tento di farlo tornare normale non funziona, lo stesso se come condizione iniziale prendo il corpo esteso senza menu, funziona per far comparire il menu e poi, quando tento di farlo scomparire di nuovo non funziona più.
    mi sono aiutato con gli alert e,anche se con firebug si evince che il cambio di classe ci sia, la funzione richiamata al click del tag è sempre la stessa...
    sbaglio qualcosa o è il dom che rimane statico quindi devo cambiare la logica per farlo funzionare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova usando questa sintassi
    codice:
    $("body").on('click','.extend',function() 
        {     
                $("#contMenu").animate({width:'0%'},1000,function(){$("#main").animate({width:'100%'},1000);}); 
                $(this).toggleClass("extend reduce"); 
        }); 
    etc...
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di faro14
    Registrato dal
    Aug 2012
    Messaggi
    199
    grazie per la risposta,
    però così non funziona proprio più nulla

  4. #4
    Utente di HTML.it L'avatar di faro14
    Registrato dal
    Aug 2012
    Messaggi
    199
    mi dice "on" is not a functions, forse è un problema con la versione jquery,
    comunque ho già trovato un modo per "aggirare" il problema, volevo solo sapere perchè questo metodo non funziona, se tipo non viene aggiornato il dom o qualcosa cosi

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Forse non sta qui $(this).toggleClass("reduce extend"); ?

    Levae mette questra classe senza pero disabilitare prima il resto.

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.