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

Discussione: al click aprire un div

  1. #1
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297

    al click aprire un div

    ciao a tutti ho questo script che alla selezione mi apre un div

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


    </script>
    <input type="checkbox" onClick="VediCheck('ciao',this);" />


    <div id="ciao" style="display:none;">

    erfhehethtehth
    </div>


    pero' io vorrei che si aprisse non alla selezione del checkbox ma semplicemente cliccando su una scritta
    non riesco a modificarlo come si fa?


    grazie a tutti ciao

  2. #2
    <span onclick="VediCheck('ciao',this);">clicca qui</span>

    o se vuoi un link

    clicca qui

    la funzione la modifichi così:

    <script type="text/javascript">
    function VediCheck(id,ck){
    document.getElementById(id).style.display = 'block';
    }
    </script>

    a questo punto non va più con una checkbox, si potrebbe farla andare con entrambe le cose (per questo ho lasciato ck) ma insomma se a te serve un click su un testo, semplifichiamo e basta.

    ps
    getElementById vuole un solo argomento, la espressione che usi te
    getElementById(id,ck)
    che gliene passa due non va bene

  3. #3
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    ok grazie mille invece come posso mettere un if else

    che al primo click mi fa comparire il div e al secondo click me lo fa scomparire?


    con quello di prima facevo cosi


    if(ck.checked){
    document.getElementById(id,ck).style.display = 'block';
    }
    else {document.getElementById(id,ck).style.display = 'none';}


    ora invece che argomenti metto?
    if(ck.selected){
    ?

  4. #4
    beh però dovresti anche leggere quel che ti dico :-)
    getElementById(id,ck)
    non va bene, vuole un solo argomento
    getElementById(id)

    La funzione prova così, non la ho testata

    function VediCheck(id,ck){
    if(ck.nodeName=='INPUT'){
    document.getElementById(id).style.display=(ck.chec ked)?'block':'none';
    }
    else{
    document.getElementById(id).style.display=(documen t.getElementById(id).style.display=='none')?
    'block':'none';
    };
    }

    a quel punto da dove vuoi chiami
    onclick="VediCheck('ciao',this);"

  5. #5
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    funziona perfettamente
    scusami sto ancora imparando il javascript
    grazie mille

  6. #6
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    ne approfitto per un ulteriore e ultima domanda
    si puo' fare che al click si apre un div e se ne chiude un altro?


    tipo clicco e si apre div
    ri-clicco si apre un altro div e si chiude quello vecchio


    come si puo' fare?

  7. #7
    Ma sì dai divertiamoci:

    codice:
    <body>
    
    <div id="ciao">ciao ciao</div>
    
    <div id="hallo">hallo hallo</div>
    test
    
    <input type="checkbox" onclick="VediCheck('ciao', 'hallo', this)" />
    <script>
    
    function VediCheck(id,id2,ck){
    String.prototype.x=function(){return !(this=='none')}
    Boolean.prototype.x=function(){return (this.valueOf())?'none':'block';};
    if(ck.nodeName=='INPUT'){
    document.getElementById(id2).style.display=(document.getElementById(id).style.display=(ck.checked).x()).x().x();
    }
    else{
    document.getElementById(id2).style.display=(document.getElementById(id).style.display=document.getElementById(id).style.display.x().x()).x().x();
    };
    }
    
    </script>
    
    </body>

  8. #8
    duplicato - non so come cancellarlo

  9. #9
    duplicato - il forum fa i capricci

  10. #10
    eh dai ok divertiamoci

    codice:
    <body>
    
    <div id="ciao">ciao ciao</div>
    
    <div id="hallo">hallo hallo</div>
    test
    
    <input type="checkbox" onclick="VediCheck('ciao', 'hallo', this)" />
    <script>
    
    function VediCheck(id,id2,ck){
    String.prototype.x=function(){return !(this=='none')}
    Boolean.prototype.x=function(){return (this.valueOf())?'none':'block';};
    if(ck.nodeName=='INPUT'){
    document.getElementById(id2).style.display=(document.getElementById(id).style.display=(ck.checked).x()).x().x();
    }
    else{
    document.getElementById(id2).style.display=(document.getElementById(id).style.display=document.getElementById(id).style.display.x().x()).x().x();
    };
    }
    
    </script>
    
    </body>

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.