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

    JQuery - Mostrare e nascondere elementi

    Volevo fare in modo che cliccando sopra un elemento h3 venisse mostrato un elemento div nascosto e nel caso venisse cliccato su un altro elemento h3 il div già aperto si chiudesse e si aprisse quello corrispondente all'h3 cliccato.
    Ho buttato giù due righe in jQuery ma non ottengo l'effetto sperato: i div rimangono aperti tutti!
    Dove sbaglio?

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <meta name="generator" content="PSPad editor, www.pspad.com">
      <title>Show/hide</title>
    
      <script src="http://code.jquery.com/jquery-latest.js"></script>
    
    <script type="text/javascript" language="javascript">
    $(document).ready(function()
    {
      //hide the all of the element with class msg_body
      $("div.msg_body").hide();
      //toggle the componenet with class msg_body
      $("h3.msg_head").click(function()
      {
        $(this).next("div.msg_body").slideToggle(300).siblings("div.msg_body").slideUp("slow");
      });
    });
    
    </script>
      </head>
      <body>
    <ul class="lista-verticale">[*]<h3 class="msg_head">Studio del mercato</h3>
    <div class="msg_body">conoscenza del settore...</div>
    [*]<h3 class="msg_head">Sondaggio</h3>
    <div class="msg_body">scoprire l’effettiva situazione di mercato...</div>
    [*]<h3 class="msg_head">Analisi dei dati</h3>
    <div class="msg_body">Analizzare i dati del sondaggio...</div>
    [*]<h3 class="msg_head">Strategia di Marketing</h3>
    <div class="msg_body">Individuare un piano...</div>
    [*]<h3 class="msg_head">Creativit&agrave; e comunicazione</h3>
    <div class="msg_body">Ideare una comunicazione creativa...</div>
    [/list]
      </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    35
    codice:
    $(document).ready(function()
    {
      //hide the all of the element with class msg_body
      $("div.msg_body").hide();
      //toggle the componenet with class msg_body
      $("h3.msg_head").click(function()
      {
        $('div.msg_body').slideUp("slow"); 
        $(this).next("div.msg_body").slideToggle(300);
    
      });
    });
    con siblings() ottieni i fratelli(nella gerarchia DOM) di un determinato elemento e per come lo hai impostato te non va bene anche se non ritorna errori JS

  3. #3
    in effetti nella console degli errori di FF non restituiva nessun errore... è per questo che non sapevo dove fosse l'errore.

    Grazie mille per la dritta.

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