Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Effetto campi nascosti

  1. #1
    2002Moro
    Guest

    Effetto campi nascosti

    Ciao, qualcuno sa dirmi come posso fare se in javascript si può fare quell'effetto che:

    Ho una lista di titoli (più o meno lunghi e formattati in html), poi cliccando un titolo, mi compaia sotto la descrizione, senza ricaricare la pagina.

    es:

    Titolo1
    Titolo2
    Titolo3
    Titolo4

    se clicco per esempio Titolo2

    Titolo1
    Titolo2
    -Questa è la descrizione del titolo 2
    con suo testo e quant'altro voglio,
    magari anche immagini..
    Titolo3
    Titolo4

    Ciao a tutti!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    TITOLOUNO
    <p id="testouno' style="display:none;">
    tutto il testo relativo al titolouno</p>

    TITOLODUE
    <p id="testodue' style="display:none;">
    tutto il testo relativo al titolodue</p>
    ...

    dove nella head della pagina c'e` la funzione:
    codice:
    function apri_chiudi(idd) {
      var obj = document.getElementById(idd);
      obj.style.display = (obj.display == 'none') ? 'block' : 'none';
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    2002Moro
    Guest
    Ciao, come mai non va con questo codice?
    cosa sbaglio?

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <TITLE>Documento senza titolo</TITLE>
    <SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
    <!--
    function apri_chiudi(idd) {
    var obj = document.getElementById(idd);
    obj.style.display = (obj.display == 'none') ? 'block' : 'none';
    }
    //-->
    </SCRIPT>
    </HEAD>

    <BODY>
    TITOLOUNO
    <p id="testouno' style="display:none;">
    tutto il testo relativo al titolouno</p>

    TITOLODUE
    <p id="testodue' style="display:none;">
    tutto il testo relativo al titolodue</p>
    </BODY>
    </HTML>

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che errore ti da`?
    Conche browser stai testando?

    Comunque questo attributo e` sbagliato:
    TYPE="text/JavaScript"

    prova a scrivere:
    type="text/javascript"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    2002Moro
    Guest
    Ciao, sto usando IE6, e l'errore è:

    Riga: 9
    Carattere : 3
    Errore: Necessario oggetto
    Codice: 0

    e poi quando apro la pagina non mi nasconde i testi

    Che si fa? :master:

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    <p id="testouno'
    chiaramente se apri con " non puoi chiudere con '

    obj.style.display = (obj.style.display == 'none') ? 'block' : 'none';

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Oooppps scusa!

    Mi sa che ero mezzo addormentato ieri.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    2002Moro
    Guest
    Perfetto, ora funziona! Mitoco, grazie mille

  9. #9
    2002Moro
    Guest
    ..dimenticavo una cosa

    Siccome vorrei che quando uno è visibile gli altri si chiudano automaticamente,
    come posso fare?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Si puo` fare anche quello, Prova queste modifiche; se non funzionano occorre fare qualcsa di piu` specifico (occorre conoscere meglio la struttura della pagina).
    codice:
    <script language="JavaScript" type="text/javascript">
    <!--
    var openidd = "";
    
    function apri_chiudi(idd) {
      if(openidd != '') {
        document.getElementById(openidd).style.display = 'none';
      }
      var obj = document.getElementById(idd);
      if(obj.style.display == 'none') {
        obj.style.display = 'block';
        openidd = idd;
      } else {
        obj.style.display = 'none';
        openidd = '';
      }
    }
    //-->
    </SCRIPT>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.