Visualizzazione risultati 1 fino 11 di 11

Discussione: Come posso nascondere il contenuto di n <div> consecutivi????

  1. #1
    brindstudios non è connesso Neofita
    Data registrazione
    17-10-2014
    Messaggi
    18

    Predefinito Come posso nascondere il contenuto di n <div> consecutivi????

    Ciao a tutti,
    non ho molta dimestichezza con script e php ma ci sto provando con tutto me stesso, vorrei sapere una soluzione per far si che questo codice(che fa il suo dovere solo con 2 <div>) funzioni per n <div> da nascondere:
    Codice HTML:
         <div id="val1">
         DOCUMENTAZIONE DEL DIV 1 DA NASCONDERE
         <button class="button" onClick="hide1()">
              <img src="http://forum.it.altervista.org/images/delete.png" width="35" height="35">
         </button>
         </div>
    
         <div id="val2">
         DOCUMENTAZIONE DEL DIV 2 DA NASCONDERE
         <button class="button" onClick="hide2()">
              <img src="http://forum.it.altervista.org/images/delete.png" width="35" height="35">
         </button>
         </div>
     	    
         <script>
              function hide1(){
    	  var e=document.getElementById("val1");
                   e.style.visibility="hidden";
                   e.style.display="none";
    	  }
              function hide2(){
    	  var e=document.getElementById("val2");
                   e.style.visibility="hidden";
                   e.style.display="none";
    	  }
         </script>
    integrando un ciclo for o similare che mi permetta di avere solo una function hide e n <div> da nascondere! Ho provato di tutto prima di chiedervi aiuto e sicuramente sono incapace io però confido nel vostro sapere!

    Buon Lavoro a tutti,
    BrindStudios!
    Ultima modifica di alemoppo : 03-11-2014 alle ore 19.24.18 Motivo: +tag [html]

  2. #2
    Guest

    Predefinito

    senza troppe complicazioni basta che sposti l'id tra i parametri della funzione

  3. #3
    Guest

    Predefinito

    Codice PHP:
    function nascondi(chi){
    var
    e=document.getElementById(chi);
    e.style.visibility="hidden";
    e.style.display="none";
    }
    nei button
    Codice HTML:
    <button class="button" onClick="nascondi('val1')">
    <button class="button" onClick="nascondi('val2')">
    <button class="button" onClick="nascondi('val3')">
    Ultima modifica di alemoppo : 03-11-2014 alle ore 19.25.00 Motivo: +tag [html]

  4. #4
    brindstudios non è connesso Neofita
    Data registrazione
    17-10-2014
    Messaggi
    18

    Predefinito

    FANTASTICO (quanto ho da imparare ) però abbiamo risolto metà del problema cioè quello di usare solo uno script; ma per poterlo richiamare in diversi <div> consecutivi come posso fare??? ho provato con il ciclo for ma sicuramente sbaglio qualcosa..

    qualche idea??
    Ho apprezzato davvero tanto l'aiuto grazie ancora!

  5. #5
    Guest

    Predefinito

    tutti i div:
    Codice:
    dv = document.getElementsByTagName("div");
    for(var i = 0; i < dv.length; i++){
    // fai qc
    }
    se poi restringi a quelli che hanno un attributo particolare chiami getAttribute e vedi
    Ultima modifica di alemoppo : 03-11-2014 alle ore 19.25.48 Motivo: +tag [code]

  6. #6
    brindstudios non è connesso Neofita
    Data registrazione
    17-10-2014
    Messaggi
    18

    Predefinito

    Scusa l'ignoranza ma mi risulta di difficile comprensione, il mio livello è sottoterra
    questo è il codice che sto provando con il tuo primo aiuto ma non va con il ciclo for:
    Codice PHP:
    <?php
    $tot
    =10; //a tot passo un valore da file.txt

    for($n=1; $n<=$tot; $n++){ ?>

    <div id="val<? $n?>">
    //DOCUMENTAZIONE DEL DIV "$n" DA NASCONDERE

    <button class="button" onClick="hide('val<? $n?>')">
    <img src="http://forum.it.altervista.org/delete.png" width="35" height="35">
    </button>

    </div>
    <? }?>

    <script>
    function hide(val){
    var e=document.getElementById("val");
    e.style.visibility="hidden";
    e.style.display="none";
    }
    </script>
    Ultima modifica di alemoppo : 03-11-2014 alle ore 19.26.15 Motivo: +tag [php]

  7. #7
    Guest

    Predefinito

    o.O

    intendevo sia la tua pagina

    demo.html
    Codice HTML:
    <div id = "a1">qualcosa</div>
    <div id = "a2">qualcosa</div>
    <div id = "a3">qualcosa</div>
    <div id = "an">qualcosa</div>
    
    <script>
    dv = document.getElementsByTagName("div");
    for(var i = 0; i < dv.length; i++){
    // fai qc
    }
    </script>
    Ultima modifica di alemoppo : 03-11-2014 alle ore 19.26.43 Motivo: +tag [html]

  8. #8
    brindstudios non è connesso Neofita
    Data registrazione
    17-10-2014
    Messaggi
    18

    Predefinito

    Qualcosa mi sfugge... o non sto capendo o non mi sto spiegando(sicuramente la prima ipotesi)!
    Nella pagina ho un ciclo for che tramite la variabile $n mi crea diversi <div> ognuno al suo interno ha un po' di codice iframe, form, altri div e un button, che devono sparire quando premo il button. quando scrivi //fai qc che devo fare? inserire l'altro script per nascondere il <div>??? Sono alle prime armi con gli script scusami ancora, non vorrei recare fastidio!

  9. #9
    Guest

    Predefinito

    non mi sto spiegando
    fino al punto 7

    ok quindi in php vuoi creare $n div con id prefisso$n

    in tal caso il codice della 3 risposta va bene, se ogni button nasconde 1 solo div
    chiaramente se il button è interno al div da nascondere, sparisce anche lui

    in sostanza

    nella pagina:
    codice javascript messagio #3

    codice php

    for ...
    echo "<div id = 'miaDiv$n'> ... ... ... <button onClick='nascondi('miaDiv$n')></div>";
    oppure con pulsante esterno
    echo "<div id = 'miaDiv$n'> ... ... ... </div><button onClick='nascondi('miaDiv$n')>";

  10. #10
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Posso suggerirti una soluzione alternativa con jQuery ...

    ogni elemento che vuoi nascondere assegnagli una classe (tipo: class="ElementoCheSiPuoEliminare")

    quindi ho visto che usi una immagine nel pulsante che esegue la funzione...

    in tal caso non si serve il pulsante .. lascia solo l'immagine

    quindi con jQuery , ogni immagine dell'elemento con la classe (di cui sopra) a cui viene eseguita l'azione click , nascondi il parent dell'immagine. (piu' facile a farsi che a dirsi..)

    DEMO

    Codice HTML:
    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
      $(".ElementoCheSiPuoEliminare img").click(function(){
       $(this).parent().hide();
      });
    });
    </script>
    <style>
    .ElementoCheSiPuoEliminare img{
     cursor:pointer;
    }
    </style>
    </head>
    <body>
    
    <div class="ElementoCheSiPuoEliminare">
    <h2>contenuto del div 1</h2>
    <img src="delete.png" />
    </div>
    <hr>
    <div class="ElementoCheSiPuoEliminare">
    <h2>contenuto del div 2</h2>
    <img src="delete.png" />
    </div>
    <hr>
    <div class="AltraClasse">
    <h2>contenuto del div 3</h2>
    <h2>questo div ha una classe diversa</h2>
    <h2>quindi non si elimina</h2>
    </div>
    <hr>
    <div class="ElementoCheSiPuoEliminare">
    <h2>contenuto del div 4</h2>
    <img src="delete.png" />
    </div>
    <hr>
    <div class="ElementoCheSiPuoEliminare">
    <h2>contenuto del div 5</h2>
    <img src="delete.png" />
    </div>
    
    </body>
    </html>

  11. #11
    brindstudios non è connesso Neofita
    Data registrazione
    17-10-2014
    Messaggi
    18

    Predefinito

    Ho risolto, stavo sbagliando io nel codice del for, ringrazio per l'aiuto che mi è stato dato quest'oggi, adesso il mio sito inizia a prendere forma GRAZIE!!!

Regole di scrittura

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