Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158

    Problema innerHTML e cambio CSS

    ciao a tutti!
    ho una funzione che mi crea un elenco attraverso la stampa di codice con il metodo innerHTML... e fino a li tutto ok...
    Poi ho creato un altra funzione che mi dovrebbe permettere di trasformare lo stesso elenco in orizzontale.
    Potrebbe essere che elementi creati con innerHTML non recepiscono poi una successiva trasformazione...

    Posto le due funzioni.

    codice:
          <script>
             
          function crea_barra(){
              
              var elementi = document.getElementById('elementi').value;
              
              var box = document.getElementById('a');
              
              box.innerHTML+="<div id='menu' style='border:1px solid black;background-color:red;'><ul id='myul'></ul></div>";
              
              for(i=1;i<=elementi;i++){
                  
                  document.getElementById('myul').innerHTML+="<li id='opzione_"+i+"'>opzione_"+i+"</li>";
               }
            
           }  
          
          </script>
          
          <script>
          
          var elementi = document.getElementById('elementi').value;
          
          function orizzontale(){
              
              document.getElementById('menu').style.display='block';
              document.getElementById('myul').style.display='block';
              
              for (i=1;i<=elementi;i++){
                  
                document.getElementById("opzione_"+i+"").style.display='inline';
              }          
              
          }      
    
    
          </script>
    Grazie!
    Ultima modifica di Alifuma92; 08-07-2014 a 19:37

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A) Quando scateni la funzione orizzontale()?
    B) Perché non la scrivi direttamente nell'elemento li opzione_ style="display:inline"? P.S. prova anche con (inline-block)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    La funzione è richiamata da un evento onclick di un button.

    Non inserisco direttamente lo style perché l effetto che voglio e la trasformazione in tempo reale della Lista da verticale a orizzontale...

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, può essere che la variabile elementi (che dichiari prima della funzione orizzontale()) non venga valorizzata correttamente.
    Prova ad inserirla all'interno della funzione stessa:
    codice:
    function orizzontale(){
      var elementi = document.getElementById('elementi').value;
      
      document.getElementById('menu').style.display='block';
      document.getElementById('myul').style.display='block';
      
      for (i=1;i<=elementi;i++){
        document.getElementById("opzione_"+i+"").style.display='inline';
      }
    }
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    GENIALE Killerworm! FUNZIONA perfettamente! grazie mille!

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.