7 messaggi dal 13 novembre 2003
Ciao a tutti,

spero di non essere troppo offtopic....

Dunque... in una pagina ASP ho una sub in VBScript che genera un N quantità di tag <Div>:

<% Public Sub Build() %>

<%
     For i = 1 to N

         Make_Div()

     Next

%>

<%> End Sub %>

<%> Public Sub Make_Div() %>

     <div id=... >
          ...
          ...
          ...
     </div>    

<% End Sub &>



A questo punto avrei bisogno di trovare un modo per conoscere l'esatta altezza in cm o pixel del di ognuno dei blocchi div. Questo perchè all'interno di ogni blocco Div viene scritto altrettato condice Html (<table>) che puo variare (colonne e righe)

Ho provato con


<SCRIPT LANGUAGE="JScript">
     
     function GetObjectHeight(ObjectId) {

        GetObjectId = document.getElementById(ObjectId).offsetHeight;
    
     }
    
</SCRIPT>



... ma mi ritorna sempre e comuque 0. Come posso fare ?
11.886 messaggi dal 09 febbraio 2002
Contributi
mi sembra che ci sia una proprietà particolare che ti restituisce l'altezza della cella.

contentHeight

boooh non riesco a ricordamelo con precisione.
Comunque, ogni qualvolta hai dei dubbi su quale proprietà usare, enumerale tutte e cerca quella che può fare al caso tuo. Così si enumerano le proprietà:

tabella = document.getElementById("nomeDIV")
for (prop in tabella){
alert(prop + ": " + tabella[prop])
}

ciao

Enjoy learning and just keep making
22 messaggi dal 20 febbraio 2002
Ciao!

getElementById(ObjectId).offsetHeight funziona ma solo lato client. Quando generi il DIV via ASP/Vbscript, sei sul server. Il DIV si "ridimensiona" e si adatta al testo, ma sul browser. A quel punto non hai una relazione tra il DIV e la funzione ASP, purtroppo, e sarà sempre altezza=0 (se la calcoli lato server).

Morale: per lavorare sui DIV e gestirne le dimensioni, devi per forza appoggiarti a Javascript sul browser: generi la pagina e POI calcoli i valori.

Tipico esempio: vuoi fare un layout con un footer. Il footer non sai come posizionarlo, perchè con ABSOLUTE te lo mette in un punto preciso, ma a te serve che sia dinamico.

Usi .getElementById(ObjectId).offsetHeight, recuperando l'altezza del DIV precedente (dove avrai il resto della pagina dinamica), dopodichè cambi al volo (via Javascript) l'altezza del DIV del footer. Infine scrivi (document.write) i contenuti del DIV.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.