Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Prendere height da un elemento e copiarlo in un altro

    Salve a tutti, vorrei capire come poter copiare la proprietà height di un elemento e, dinamicamente tramite javascript, portarlo in un altro così che possa avere l'altezza di entrambi di egual misura. Grazie in anticipo.
    Immagini allegate Immagini allegate

  2. #2
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    codice:
    <script>
    function eguaglia(n){
     alert('RILEVATI   dal  DIV  ID="D' + n + '" :\n' + 
           '\n style.height = ' + document.getElementById("D" + n).style.height + 
           '\n offsetHeight = ' + document.getElementById("D" + n).offsetHeight );
    
     document.getElementById("D0").style.height=document.getElementById("D" + n).offsetHeight + "px";
     }
    </script>
    
    <style> div{width: 200px; float: left; margin: 8px; border: 1px dashed red} </style>
    
    <div id="D1"><input value="Eguaglia a questo" onclick="eguaglia(1);" type="button"><br>
     Questo DIV cresce in altezza seguendo il contenuto.<br>
     <br>
     Il Valore può essere rilevato (numerico puro) solo con<tt> offsetHeight </tt>cui andrà aggiunto <tt> px </tt>.<br>
     <br>bla bla<br>bla bla<br>bla bla<br>bla bla
    </div>
    
    <div id="D2" style="height: 380px"><input value="Eguaglia a questo" onclick="eguaglia(2);" type="button"><br>
     Questo DIV è di altezza fissa in pixel assegnatagli dallo STYLE (uso dell' inline-style).<br>
     <br>
     Il Valore può essere rilevato sia con<tt> offsetHeight </tt> 
     che con<tt> style.height </tt> già inclusivo del suffisso<tt> px </tt>o<tt> % </tt>
    </div>
    
    <div id="D0">Questo DIV lo vogliamo eguagliare agli altri in altezza.</div>

  3. #3
    Quote Originariamente inviata da Enzaccio Visualizza il messaggio
    codice:
    <script>
    function eguaglia(n){
     alert('RILEVATI   dal  DIV  ID="D' + n + '" :\n' + 
           '\n style.height = ' + document.getElementById("D" + n).style.height + 
           '\n offsetHeight = ' + document.getElementById("D" + n).offsetHeight );
    
     document.getElementById("D0").style.height=document.getElementById("D" + n).offsetHeight + "px";
     }
    </script>
    Questo è il codice modficato per la mia necessità ma non si applica nessuna modifica, rimane tutto secondo i parametri. L'elemento da cui prendere l'height (a cui non è impostato ma è preso in causa al suo contenuto) è #modificabile. Il codice dovrebbe essere questo:
    codice:
    <script  type="text/javascript">
     document.getElementById("modificabile").style.height=document.getElementById("barra").offsetHeight + "px";
     }
    </script>
    Aspetto vostre correzioni.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    L'adeguamento quando deve avvenire al caricamento pagina o al click?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    per avere due elementi con stessa altezza non ti serve usare javascript, ti basta il css.

    Puoi usare i box flessibili di css3 (http://css-tricks.com/snippets/css/a-guide-to-flexbox/) o per i browser piu vecchi puoi fare qualcosa del genere: http://matthewjamestaylor.com/blog/e...s-3-column.htm

  6. #6
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    L'adeguamento quando deve avvenire al caricamento pagina o al click?
    Al caricamento della pagina.

    Quote Originariamente inviata da Vindav Visualizza il messaggio
    per avere due elementi con stessa altezza non ti serve usare javascript, ti basta il css.

    Puoi usare i box flessibili di css3 (http://css-tricks.com/snippets/css/a-guide-to-flexbox/) o per i browser piu vecchi puoi fare qualcosa del genere: http://matthewjamestaylor.com/blog/e...s-3-column.htm
    Nella tua modalità quello che imposta l'height è il più alto invece a me servirebbe il più basso e si farebbe molto più semplicemente con Javascript.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da ligimus Visualizza il messaggio
    ...
    Nella tua modalità quello che imposta l'height è il più alto invece a me servirebbe il più basso e si farebbe molto più semplicemente con Javascript.
    Pertanto al caricamento lo vuoi accorciare, nel elemento che vuoi accorciare dovrai aggiungerci un overflow:auto; o tramite css o tramite js altrimenti alcuni browser non terranno in considerazione la forzatura altri faranno uscire il contenuto altri ancora taglieranno il contenuto
    codice:
    <script>
    window.onload=function(){
    document.getElementById("id-elemento-da-accorciare").style.height=document.getElementById("id-elemento-recupero-altezza").offsetHeight + "px";
    document.getElementById("id-elemento-da-accorciare").style.overflow='auto';
     }
    </script>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    codice:
    <script>
    window.onload=function(){
    document.getElementById("id-elemento-da-accorciare").style.height=document.getElementById("id-elemento-recupero-altezza").offsetHeight + "px";
    document.getElementById("id-elemento-da-accorciare").style.overflow='auto';
     }
    </script>
    Intanto grazie perché mi sei stato di grande aiuto, funziona tutto fino a quando però non si va a cambiare la proporzione dello schermo, insomma non è dinamica la funzione ma statica nella presa dell'altezza che rimane sempre quella anche al cambio della misura del font (dinamicamente) dell'elemento principale. Grazie ancora.

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non avevi parlato di responsive, vedi se con il meta <meta name="viewport" content="width=device-width, initial-scale=1"> risolvi alternative
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Non avevi parlato di responsive, vedi se con il meta <meta name="viewport" content="width=device-width, initial-scale=1"> risolvi alternative
    Purtroppo niente rimane lo stesso. Nessun altra possibilità tramite javascript?

Tag per questa discussione

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.