Visualizzazione risultati 1 fino 9 di 9
Like Tree1Likes
  • 1 Post By

Discussione: Mostrare e nascondere un div mediante un pulsante

  1. #1
    SchoolCommunity non è connesso Utente giovane
    Data registrazione
    30-05-2015
    Messaggi
    46

    Predefinito Mostrare e nascondere un div mediante un pulsante

    Codice HTML:
    <input type=button value="+" name="var_1" OnClick=mostra(name)>
    <div id="var_1" class="variabile">Buon giorno </div>
    Il pulsante richiama la funzione mostra in codice javascript
    Codice:
    <script language="javascript">
    	function mostra(name)
    	{	
    		document.getElementById(name).style.display="block";
    	}
    </script>
    Il problema ora sta nel nascondere il contenuto quando il bottone viene ricliccato; ho provato facendo:
    Codice:
    <script language="javascript">
    	var ausiliaria=false;
             function mostra(name)
    	{	
                    if(ausiliaria==false)
                     {
    		      document.getElementById(name).style.display="block";
                          ausiliaria=true;
                      }
                     else
                     {
                          document.getElementById(name).style.display="none";
                          ausiliaria=false;
                     }
    </script>
    In questo modo però definire la variabile ausiliaria fuori dalla funzione è inutile. Come potrei fare? Ho cercato funzioni javascript che permettessero di ricavare il value di display (css) in modo tale da fare un controllo, ma non ho trovato alcuna soluzione.

  2. #2
    Guest

    Predefinito

    Codice:
    <script language="javascript">
    	function mostra(name)
    	{	
    		if(document.getElementById(name).style.display == "block"){
    			document.getElementById(name).style.display = "none";
    		}else{
    			document.getElementById(name).style.display = "block"
    		}
    	}
    </script>
    In questo modo se l'oggetto è visibile, lo nascondi, mentre se è già nascosto, lo rendi visibile.
    SchoolCommunity likes this.

  3. #3
    SchoolCommunity non è connesso Utente giovane
    Data registrazione
    30-05-2015
    Messaggi
    46

    Predefinito

    Vorrei cambiare il value del bottone al click. Ho provato in questo modo ma non funziona:
    Codice:
    	function mostra(name)
    	{	
    		if(document.getElementById(name).style.display == "block")
    		{
    			document.getElementById(name).style.display="none";
    			document.getElementById(name).value="-";
    		}
    		else
    		{
    			document.getElementById(name).style.display="block";
    			document.getElementById(name).value="+";
    		}
    	}
    Dove è l'errore?
    Ultima modifica di alemoppo : 03-08-2015 alle ore 23.45.20 Motivo: +tag [code]

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Perché "name" è l'id del div, non del pulsante. Dovresti passare anche l'id del pulsante, oppure fare una cosa del genere:
    Codice:
    <input type=button value="+" name="var_1" OnClick="mostra('var_1'); this.value=(this.value=='+')?'-':'+'">
    Ciao!

  5. #5
    Guest

    Predefinito

    ti riusciva molto più semplice se usavi toggle

  6. #6
    Guest

    Predefinito

    potevi fare in questo modo usando jquery:

    $(document).ready( function(){
    $("#var_1").hide();

    $("#mettiunidalbutton").click( function(){
    $("#var_1").toggle("slow");});
    });

    e il gioco è fatto :)

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Includere 100kb di sorgente per nascondere un div? .

    Ciao!

  8. #8
    Guest

    Predefinito

    la semplicità la semplicità haha :)

  9. #9
    SchoolCommunity non è connesso Utente giovane
    Data registrazione
    30-05-2015
    Messaggi
    46

    Predefinito

    Grazie mille, ho utilizzato la prima modalità.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •