Visualizzazione risultati 1 fino 2 di 2

Discussione: Problema con il mostra/nascondi di un tasto

  1. #1
    Guest

    Predefinito Problema con il mostra/nascondi di un tasto

    Salve, ho questo script per mostrare/nascondere un testo:

    Codice HTML:
    //Mostra/nascondi
    function vediTesto(a){
      var e=document.getElementById(a);
      if(!e)return true;
      if(e.style.display=="none"){
        e.style.display="block"
      } else {
        e.style.display="none"
      }
      return true;
    }
    Poi ho creato questo codice:

    Codice HTML:
    <div id="altro" style="display:none;">testo di prova<br></div>
    <a href="#" onclick="return vediTesto('altro')">
    <script language="javascript">
    if(document.getElementById('altro').style.display == "block"){
        document.write("Nascondi")
      }else{
        document.write("Mostra")
    }
    </script>
    </a>
    Ma qualcosa non funziona, perchè il tasto mostra sempre e comunque "Mostra". Per il resto lo script viene eseguito alla perfezione e quando clicco su "mostra" mi appare/scompare il div.
    Ultima modifica di musicanapoli : 23-09-2010 alle ore 20.52.19 Motivo: Modicato tag per racchiudere il codice

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Ma infatti il valore "Nascondi/Mostra" all'interno di <a> lo stampi con document.write e mi sembra normale che resti statico.

    Se vuoi qualcosa di dinamico devi cambiare anche il valore di <a> all'evento onclick, puoi fare:
    Codice:
    function vediTesto(a, p){
        var e = document.getElementById(a);
    
        if(!e)
            return true;
    
        if(e.style.display=="none"){
            e.style.display = "block";
            p.innerHTML = "Nascondi";
        } else {
            e.style.display = "none";
            p.innerHTML = "Mostra";
        }
    
        return true;
    }
    Codice HTML:
    <div id="altro" style="display:none;">testo di prova<br></div>
    <a href="#" onclick="return vediTesto('altro', this)">Mostra</a>
    Ultima modifica di javascripter : 23-09-2010 alle ore 20.49.12

Regole di scrittura

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