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

    [jQuery] Nascondere elementi multipli

    Ciao a tutti,
    ho un html di questo tipo:

    codice:
    <ul>
       <li class="file"><span class="listTitle">Un bel listone</span>
          <ul class="subList">[*][*][*][/list]
       
       <li class="file"><span class="listTitle">Un bel listone</span>
          <ul class="subList">[*][*][*][/list]
       
       <li class="file"><span class="listTitle">Un bel listone</span>
          <ul class="subList">[*][*][*][/list]
       [/list]
    Come potete vedere, tutti i "li" dell'elenco principale hanno la stessa class ("file"), e tutti gli "ul" di secondo livello hanno la classe "subList". Anche gli span hanno tutti una stessa classe ("listTitle").
    Quello che vorrei fare io è questo: cliccando su uno span, l'elenco "subList" relativo diventa visiile, e tutti gli altri "subList" eventualmente visibili vengono invece nascosti. Si puó?

    Grazie mille a tutti!
    Marcello: "Non ti preoccupare, è tutto CSS, senò è finita che separiamo la grafica dai contenuti. E allora 'o W3C parla a vacant?"
    Vincenzo: "Spesso sì."

    Utonter . Puliti dentro e belli fuori.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    si puo' fare in modi diversi,
    se veramente restasse cosi' semplice ti basterebbe fare
    codice:
      $(document).ready(function(){
    	$(".listTitle").click(function(){
    		$(".subList").hide();
    		$(this).next().show();
    	});
    
      });
    ciao

  3. #3
    Grazie mille! Funziona!
    Ho aggiunto qualcosa per far sí che se si clicca sullo span relativo ad un div già visibile, questo si nasconda. Funziona, ma vorrei sapere se si può ottimizzare:

    codice:
    	
    $(document).ready(function(){
    	$(".subList").hide('fast');
    	$(".listTitle").click(function(){
    	    $(".subList").hide('fast');
    	    if($(this).next(':hidden').length > 0) {
    	        $(this).next().show('fast');
    	    } else {
    	        $(this).next().hide('fast');
    	    }
    	});
    });
    Ancora grazie mille!
    Marcello: "Non ti preoccupare, è tutto CSS, senò è finita che separiamo la grafica dai contenuti. E allora 'o W3C parla a vacant?"
    Vincenzo: "Spesso sì."

    Utonter . Puliti dentro e belli fuori.

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    mi sembra andare bene gia' cosi'
    ciao

  5. #5
    Ho provato cosí:

    codice:
    $(document).ready(function(){
     	$(".subList").hide('fast');
     	$(".listTitle").click(function(){
     	    $(".subList").hide('fast');
     	   $(this).next().toggle();
     });
    Funziona nel senso che il .subList giusto appare e scompare, ma lo fa con un fastidioso effetto "lampeggio". Qualche suggerimento?
    Marcello: "Non ti preoccupare, è tutto CSS, senò è finita che separiamo la grafica dai contenuti. E allora 'o W3C parla a vacant?"
    Vincenzo: "Spesso sì."

    Utonter . Puliti dentro e belli fuori.

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