Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    come modificare width div con javascript e IE6

    Con Firefox 1.5 it funziona come ci si aspetta, ma in IE6 non sono proprio riuscito a modificare via codice la larghezza di un div, senza perdere l'altezza.
    Con la paginetta di prova qui sotto, imposto la larghezza correttamente, ma l'altezza si riduce a 2 px.
    Spero proprio in un aiuto

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    	<title>Untitled Page</title>
    
    	<script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function Button1_onclick() 
    {
    	document.getElementById("div2").style.width = "80%";
    	document.getElementById("div2").style.height = "100%";
    }
    
    // ]]>
    	</script>
    
    </head>
    <body>
    	<div id="div1" style="position: relative; width: 300px; height: 100px; border: 1px red solid;">
    		<div id="div2" style="position: absolute; left: 0px; top: 0px; width: 10%; height: 100%; font-size: 0pt; background-color: Olive;">
    		</div>
    	</div>
    	
    
    	<input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
    </body>
    </html>
    Pietro

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    forse ho fatto una domanda sciocca?

    :master:

    Pietro

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    no, sembra dia fastidio il posizionamento assoluto rispetto a quello relativo del box padre, il problema non si presenterebbe se fosse normalmente contenuto in esso

    idem se avesse un altezza non relativa, non la perderebbe

    la prima soluzione che mi viene in mente e' rilevare l' altezza e settarla dopo aver modificato la lunghezza
    codice:
    var h=document.getElementById("div2").offsetHeight;
    document.getElementById("div2").style.width = "80%";
    document.getElementById("div2").style.height = h;
    che, almeno nell' esempio minimale che hai postato, sembra funzionare

    ciao Pietro

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    allora c'è qualcuno che mi risponde

    ero arrivato più o meno alle stesse conclusioni, ma speravo di sbagliare:

    ho fatto (copio pari-pari:
    codice:
    this.indicatore.style.height = (this.involucro.offsetHeight - 2) + "px";
    al posto di:
    codice:
    //this.indicatore.style.height = "100%";
    cioè ho dovuto togliere 2 esatti per tenere conto del bordo

    La cosa però mi piace poco

    Pietro

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.