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

    [jquery] modifica di una classe

    Ciao,
    in questa pagina http://www.epublic.it/portfolio.asp?Tabella=Comuni ho questo codice jquery che mi consente di aprire un lista ul nascosta al click.
    codice:
    	<script type="text/javascript">	
    		$(document).ready(function() {
    		$("#accordion > li").click(function(){
    			if(false == $("ul",this).is(':visible')) {
    				$('#accordion ul').slideUp(500);
    			}
    			$("ul",this).slideToggle(500);
    		});
    	});
    Quando la lista è aperta vorrei fare comparire un "-" al posto del più cambiando la classe del[*] da "open" a "close". Come faccio.
    Nel codice sopra la classe non è definita perché mi prende il[*] generico.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    Crea una classe identica ad 'open' nel foglio di stile (ovviamente chiamala 'close' e cambia l'immagine) e al click cambi la classe con addClass!

    Oltre ad addClass potresti usare attr("class", valore), ma di quest'ultimo non ne sono tanto sicuro

  3. #3
    Originariamente inviato da Kej
    Crea una classe identica ad 'open' nel foglio di stile (ovviamente chiamala 'close' e cambia l'immagine) e al click cambi la classe con addClass!

    Oltre ad addClass potresti usare attr("class", valore), ma di quest'ultimo non ne sono tanto sicuro
    Il css è già pronto, il problema è che non so come modificare il codice sopra per aggiungere il cambio classe, ho fatto un bel po' di prove ma senza risultati. è la prima volta che uso jquery.

    Ci sono una marea di script simili in giro ma non sono riuscito a trovarne uno adattabile.

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    anche se non e' il massimo, senza toccare nulla prova solo aggiungendo

    $(this).toggleClass('open').toggleClass('close')

    dopo $("ul",this).slideToggle(500);

    ciao

  5. #5
    Originariamente inviato da Xinod
    anche se non e' il massimo, senza toccare nulla prova solo aggiungendo

    $(this).toggleClass('open').toggleClass('close')

    dopo $("ul",this).slideToggle(500);

    ciao
    Grazie.
    Di base funziona, però se clicco per aprire un'altra voce senza aver chiuso quella precedente lì rimane il segno meno (-) e di conseguenza i segni si invertono.
    Mi servirebbe anche un'istruzione per il ripristino della classe precedente.

  6. #6

  7. #7
    Originariamente inviato da Xinod
    http://jsfiddle.net/xgTsX/1/

    ciao

    Grazie per il tempo che mi hai dedicato!

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.