Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    mostra nascondi più div

    Ciao ragazzi.
    Ho questo codice che mi mostra e nasconde i div:

    <script type="text/javascript">
    function toggleDisplay(strId) {
    document.getElementById(strId).style.display = document.getElementById(strId).style.display == 'block' ? 'none' : 'block';
    }
    </script>

    nella pagina faccio comparire e nascondere con un click capito1 (immagine) e capitoloo 2 (testo)

    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo1'); toggleDisplay('capitolo2')" >uno</p>


    Il problema è che cliccando su un altro link, mi compaiono altre immagini e testo senza far sparire gli altri.

    Come posso fare a far sparire gli altri div e facendo apparire quelli che mi servono?
    Bisogna aver pazienza con gli uomini

  2. #2
    stamattina cercherò qualcosa. Purtropppo sono consapevole di non essere capace, ma ci provo.
    Ma penso sia semplice, dire ad un pulsante che prima di attivare i propri div, spegnere gli altri.

    Buona giornata.
    Bisogna aver pazienza con gli uomini

  3. #3
    Ho trovato uno script jqury.
    Ma questo javascript (sopra) è così semplice.
    Mi basterebbe saere solo come nascondere i div visibili con un click su un altro link.
    :-(
    Bisogna aver pazienza con gli uomini

  4. #4
    Lo script orinale sarebbe questo:

    http://www.graficicreativi.com/gesti...un-titolo.html
    Bisogna aver pazienza con gli uomini

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ecco un esempio:

    codice:
    <div id="capitolo1" style="display:none">capitolo1</div>
    <div id="capitolo2" style="display:none">capitolo2</div>
    <div id="capitolo3" style="display:none">capitolo3</div>
    <div id="capitolo4" style="display:none">capitolo4</div>
    
    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo1');" >uno</p>
    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo2');" >due</p>
    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo3');" >tre</p>
    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo4');" >quattro</p>
    codice:
    function toggleDisplay(strId) {
    document.getElementById(strId).style.display = document.getElementById(strId).style.display == 'block' ? 'none' : 'block';
    var listDiv = document.getElementsByTagName("div");
    for(i=0;i<listDiv.length;i++){
    	if(listDiv[i].id != strId && listDiv[i].id.indexOf("capitolo") != -1) listDiv[i].style.display = "none";
    }
    }
    Se vuoi far rendere visibili piu div alla volta basta passare alla funzione toggleDisplay piu parametri...

  6. #6
    Quindi se con un solo click voglio far comparire capitolo1 e capitolo2 devo fare così?

    codice:
    <div id="capitolo1" style="display:none">capitolo1</div>
    <div id="capitolo2" style="display:none">capitolo2</div>


    codice:
    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo1');toggleDisplay('capitolo2');">uno</p>
    e grazie.
    Bisogna aver pazienza con gli uomini

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    <div id="capitolo1" style="display:none">capitolo1</div>
    <div id="capitolo2" style="display:none">capitolo2</div>
    <div id="capitolo3" style="display:none">capitolo3</div>
    <div id="capitolo4" style="display:none">capitolo4</div>
    
    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo1','capitolo2');" >uno</p>
    <p style="cursor: pointer;" onclick="toggleDisplay('capitolo3','capitolo4');" >due</p>
    codice:
    function toggleDisplay(strId1,strId2) {
    document.getElementById(strId1).style.display = document.getElementById(strId1).style.display == 'block' ? 'none' : 'block';
    document.getElementById(strId2).style.display = document.getElementById(strId2).style.display == 'block' ? 'none' : 'block';
    var listDiv = document.getElementsByTagName("div");
    for(i=0;i<listDiv.length;i++){
    	if(listDiv[i].id != strId1 && listDiv[i].id != strId2 && listDiv[i].id.indexOf("capitolo") != -1) listDiv[i].style.display = "none";
    }
    }

  8. #8
    e se ti dicessi: infinitamente grazie?
    :-)
    Bisogna aver pazienza con gli uomini

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 © 2026 vBulletin Solutions, Inc. All rights reserved.