Grazie 1000000Originariamente inviato da dwj
Ciao, questa è la versione più semplice dello script che ti serve:
Tieni conto di due questioni:codice:$(document).ready(function () { $('dd').hide(); $('dt a').click(function () { $(this).parent().next().slideToggle(); }) });
1) poichè nascondi i dd al DOMready, potresti imbatterti in un "effetto flash" in cui vedresti inizialmente i dd aperti (finché il documento si carica) e solo successivamente li vedresti scomparire. In tal caso ti conviene nascondere gli elementi via CSS
2) con questo script le coppie dt/dd sono indipendenti, se volessi realizzare un effetto accordion (solo un elemento aperto alla volta) devi modificare lo script in questo modo:
Ho creato un esempio dinamico su jsfiddle.netcodice:$(document).ready(function () { var $dds = $('dd'); $dds.hide(); $('dt a').click(function () { var $dd = $(this).parent().next(); $dds.not($dd).slideUp(); $dd.slideToggle(); }); });![]()
un'ultima cosa per favore,
è possibile applicare una classe al dt cliccato ?
inoltre c'è un modo per non far salire a inizio pagina dopo il click ?
grazie !![]()
p.s. con firefox non va![]()