Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Toggle non funziona

  1. #1

    Toggle non funziona

    Ciao a tutti, ho uno strano problema, ho una funzione che mi serve per aprire e chiudere eventuali sottomenu, al click richiamo la funzione ma servono due click per attivarla, la prima volta non succede nulla, poi la seconda volta funziona. Ho provato a togliere la condizione (if) e funziona al primo click. A me però serve che il div si possa anche chiudere sempre con lo stesso link. Da cosa dipende secondo voi?

    codice:
    if(document.getElementById(divid).style.display=='none'){			document.getElementById(divid).style.display='block';
    		} else {
    			document.getElementById(divid).style.display='none';
    }
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,696
    Ciao, il frammento di codice che hai postato non è sufficiente a capire dove sta il problema.
    Posta il resto del codice ho metti un link ad una pagina pubblica.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    ecco il codice:

    <script>
    function apriDiv(divid) {
    if(document.getElementById(divid).style.display=='none'){
    document
    .getElementById(divid).style.display='block';
    }else{ document.getElementById(divid).style.display='none';
    }
    }</script>

    <a href="#" onclick="apriDiv('pippo');">apri</a>
    <div id="pippo">apri questo div quando clicco su apri</div>
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,696
    Ho fatto questa prova:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script>
          function apriDiv(divid) {
            if(document.getElementById(divid).style.display=='none'){
              document.getElementById(divid).style.display='block';
            }else{
              document.getElementById(divid).style.display='none';
            }
          }
        </script>
      </head>
      <body>
        <a href="#" onclick="apriDiv('pippo');">apri</a>
        <div id="pippo">apri questo div quando clicco su apri</div> 
      </body>
    </html>
    Il toggle si comporta perfettamente. Il div si chiude al primo click e si riapre in modo alternato.
    Il problema non risiede sul codice che hai postato.

    Se possibile, posta il link alla pagina pubblica.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Ti ringrazio per il consiglio, la pagina non è online (sto facendo dei test in locale), al momento ho risolto utilizzando due funzioni distinte apri e chiudi (facendo scomparire il link apri e il link chiudi di volta in volta)
    Questo perchè se tolgo la condizione if funziona.
    Grazie ancora e buona notte.
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

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.