Newsgroup: it.comp.lang.javascript
Titolo: Modificare altezze div via Js

Da quello che sto leggendo, ho un problema classico.
Ho 3 div affiancati e vorrei che tutti, indipendentemente dal contenuto, 
avessero l'altezza del pi� corto.
Ho trovato tutti rimedi via css per renderli uguali al pi� esteso ma nulla 
che faccia al mio caso.
Ho pensato, allora di poter fare le cose via JS, ma non ho idea di come 
farlo.
Qualche consiglio?

 avessero l'altezza del pi� corto.
Rettifico la domanda.
Non voglio adattare le tre altezze al pi� corto ma ad un div specifico.
Cio� ho il div1 div2 div3 e vorrei adattare l'height di tutti i div a quella 
del div1 indipendentemente dal fatto che sia il pi� corto o no. 

 del div1 indipendentemente dal fatto che sia il più corto o no.

 ha scritto nel messaggio 
news:4a9ceaf2$0$6823$5fc...@news.tiscali.it...

Puoi usare il DOM
Ciao
Leo

<Dai un'occhiata a questo esperimento:
<
http://localhost/oreste.parlatano.org/prove_js/div_dimensionabili/
<
<puoi scaricare il codice ed edattarlo alle tue esigenze
Grazie provo a vedere cosa riesco a fare. 

 Puoi usare il DOM
Ti ringrazio ma mi sto perdendo nella ricerca di info... non � che mi sai 
indicare qualche esempio o cosa di preciso cercare? 

 quella del div1 indipendentemente dal fatto che sia il più corto o no.
in generale dipende da come hai implementato le 3 colonne via css.
In concreto:
 - window.onload recuperi l'altezza del tuo div:
 
http://www.criosoftware.it/default26.aspx
 - setti la height degli altri div al valore trovato
Ovviamente (ma non penso sia questo il caso) se l'altezza del tuo div è 
fissa puoi fissare direttamente le proprietà height e overflow agli altri.

 - setti la height degli altri div al valore trovato
Dunque ho provato inserendo a fondo pagina (prima di chiudere i tag body ed 
html) questo script:
<script type="text/javascript">
  var ce = document.getElementById('center');
  var dx = document.getElementById('right');
  dx.style.height = ce.offsetHeight + "px";
</script>
Il problema � che non legge correttamente l'altezza del div ('center') 
(questo div ha al suo interno dei contenuto che ne modificano l'altezza 
quindi non conosciuta a priori).
Probabilmente con quello che dicevi sopra "window.onload recuperi l'altezza 
del tuo div:" risolverei, ma non ho capito come dovrei fare. :-(
Chiedo scusa per le banalit� ma sono solo un hobbista del campo. 

 l'altezza del tuo div:" risolverei, ma non ho capito come dovrei fare.
ma hai letto il link che ti ho indicato? C'è anche un esempio 
scaricabile ...

 scaricabile ...
Si l'ho letto ed ho provato l'esempio.
Ho preso proprio i file scaricabili, ho copia/incollato il codice js prima 
dell'head (come dall'esempio scaricabile) unica differenza ho richiamato la 
funzione (invece che associarla ad un click) da fondo pagina. Ma FF mi 
restituisce un errore da consolle:
"Error: uncaught exception: [Exception... "Could not convert JavaScript 
argument arg 0 [nsIDOMViewCSS.getComputedStyle]"  nsresult: "0x80570009 
(NS_ERROR_XPC_BAD_CONVERT_JS)"  location: "JS frame :: 
http://localhost/Test.php
 :: Elenca :: line 32"  data: no]
Questo � il motivo per cui ho provato un'altra strada... 

 
http://localhost/Test.php
 :: Elenca :: line 32"  data: no]
oh bella
ma l'esempio ti funziona? 
A naso GetRef ti sta restituendo un oggetto null. un alert del 
riferimento all'oggetto cosa dice?

 riferimento all'oggetto cosa dice?
Mi vergogno non poco ma non ho capito quale riferimento di quale oggetto 
devo fare un alert. :-(

 devo fare un alert. :-(
getComputedStyle, come avrai visto, accetta come primo parametro il 
riferimento all'oggetto ... di questo sto parlando: è corretto oppure non 
trova l'oggetto (e quindi null)?


Ho provato cos�:
div = document.getElementById("center");
alert(getComputedStyle(div,'').height);
e mi restituisce un'altezza minore della reale dimensione ho anche provato 
con:
div = document.getElementById("center");
alert(getComputedStyle(div,'').offsetHeight);
Ma in questo caso mi da "undefinied".
Comunque, ho risolto bypassando il div in questione ed "interrogandone" un 
altro, deduco che il contenuto dinamico che si crea in 'center' crei questo 
problema.
Grazie per le pazienti risposte. 

 ha scritto nel messaggio 
news:4a9cf17f$0$702$5fc...@news.tiscali.it...

http://www.w3schools.com/HTMLDOM/dom_obj_style.asp
http://www.w3schools.com/HTMLDOM/prop_style_width.asp
<html>
<head>
<script type="text/javascript">
function setWidth()
{
document.getElementById("b1").style.width="300px";
}
</script>
</head>
<body>
<input type="button" id="b1" onclick="setWidth()"
value="Change width to 300 px" />
</body>
</html>
Ciao
Leo