Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Elementi a comparsa

  1. #1

    Elementi a comparsa

    Ciao a tutti,
    ho trovato questo script di Alberto Giuliani su gli elementi a comparsa che fa proprio al caso mio.
    Il funzionamento è piuttosto semplice, al clic cambia lo stile del ID in display: block.
    Io però dovrei far comparire e scomparire vari div e visualizzandone uno mi devono scomparire gli altri... incollo il codice che forse è meglio


    <script type="text/javascript" language="javascript">
    function visualizza(id){
    if (document.getElementById){
    if(document.getElementById(id).style.display == 'none'){
    document.getElementById(id).style.display = 'block';
    } else {
    document.getElementById(id).style.display = 'none';
    }
    }
    }
    </script>

    </head>
    <html>
    <body>
    <div>
    <ul>[*]visualizza 1[*]visualizza 2[*]visualizza 3[/list]
    </div>
    </div>


    <div id="a1" style="display:none">
    <h2>111111111111111111</h2>
    </div>
    <div id="a2" style="display:none">
    <h2>2222222222222222222</h2>
    </div>
    <div id="a3" style="display:none">
    <h2>3333333333333333</h2>
    </div>

    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: Elementi a comparsa

    Originariamente inviato da biribit
    <script type="text/javascript" language="javascript">
    var totale=3
    function visualizza(num){
    if (document.getElementById){
    for(var k=1;k<totale;k++){
    var el=document.getElementById('a'+num);
    el.style.display=(k==num && el.style.display == 'none')?'block':'none';
    }
    }
    }
    </script>

    </head>
    <html>
    <body>
    <div>
    <ul>[*]visualizza 1[*]visualizza 2[*]visualizza 3[/list]
    </div>
    </div>


    <div id="a1" style="display:none">
    <h2>111111111111111111</h2>
    </div>
    <div id="a2" style="display:none">
    <h2>2222222222222222222</h2>
    </div>
    <div id="a3" style="display:none">
    <h2>3333333333333333</h2>
    </div>

    </body>
    </html>
    prova, dovrebbe andare

  3. #3
    mmmh, ho provato ma mi da errore e non funziona... (manca oggetto...)

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    controllato
    codice:
    <html>
    <head>
    <script type="text/javascript" language="javascript">
    var totale=3
    function visualizza(num){
    	if (document.getElementById){
    		for(var k=1;k<=totale;k++){
    			var el=document.getElementById('a'+k);
    			el.style.display=(k==num && el.style.display == 'none')?'block':'none';
    		}
    	}
    }
    </script>
    
    </head>
    <html>
    <body>
    <div>
    <ul>[*]visualizza 1[*]visualizza 2[*]visualizza 3[/list]
    </div>
    </div>
    
    
    <div id="a1" style="display:none">
    <h2>111111111111111111</h2>
    </div>
    <div id="a2" style="display:none">
    <h2>2222222222222222222</h2>
    </div>
    <div id="a3" style="display:none">
    <h2>3333333333333333</h2>
    </div>
    
    </body>
    </html>
    ciao

  5. #5
    OK, perfetto.
    Se voglio gestire più div quindi cambio solo il numero della var totale =3?

  6. #6
    Ho provato , funziona perfettamente.
    Mille grazie!!!

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.