Newsgroup: it.comp.lang.javascript
Titolo: [?] Firefox >=1.0 e problema Div

(apro un nuovo thread)
 
xhtml.primestore.it
Con tutti i browser ok tranne firefox dalla versione 1.0PR (con la 0.8
tutto ok).
Cosa avviene: al centro ho un div con scorrimento; tale div ha height=0 e
window.onload calcolo l'altezza del contenuto e gliela setto.
Solo con firefox >=1.0 quando setto tale altezza non viene sistemato a
dovere il layout, e il piè di pagina resta nella posizione dove si trovava
quando il div sopra indicato aveva height=0.
In rete ho trovato alcuni bug dichiarati su questioni simili a questa, ma
niente di specifico e soprattutto nessuna soluzione.
Sostanzialmente quello che fa window.onload è calcolare l'altezza della
tabella interna al div e settare la height del div:
 GetRef("CentroPromo").style.height=parseInt(GetAbsHeight(t))+"px";
Dove CentroPromo è l'id del div, e t è il riferimento alla tabella.
GetRef è 
http://www.criosoftware.it/default14.aspx
e la GetAbsHeight (che funziona correttamente perché il div viene
visualizzato correttamente):
 window.GetAbsHeight=function(sender) {
  var ris=0;
  if(!sender.offsetParent) return 0;
  ris=sender.offsetHeight;
  return ris;
} //GetAbsHeight
a) qualche workaround?
b) pensavo al limite anche a un css che setta una height al div, ma
dovrebbe funzionare solo per firefox (oltretutto >=1.0...)
Se vi viene in mente qualcosa ringrazio.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

  GetRef("CentroPromo").style.height=parseInt(GetAbsHeight(t))+"px";
:-O
  GetRef("CentroPromo").height=parseInt(GetAbsHeight(t))+"px";
Settando height oltre che style.height si è sistemato tutto...boh
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 Settando height oltre che style.height si è sistemato tutto...boh
Buffo. Sarebbe da capire il perché, e mi piacerebbe anche dargli
un'occhio.. se hai modo di replicare l'errore in una pagina un po' meno
incasinata :)
-- 
ZER0 
~ "Compiere l'impossibile e' impresa che risiede nel cuore degli uomini"
(Mariners and generals)

 incasinata :)
Ahimé no...ho provato ma con layout semplici il problema non appare. Anche
in questa pagina se inizio a rimuovere roba scompare, e non sono riuscito a
capire con quale logica. Suona comunque come bug (anche perché il piè di
pagina è dentro una td della stessa tabella, in teoria ottenere un effetto
simile dovrebbe essere quasi impossibile senza usare div con position
absolute e altri giochetti). 
Vedi l'elenco di prova dei pc, colonna centrale? Se ne lascio uno solo
layout ok, ne aggiungo un altro (superando le colonne laterali) Ok, se ne
aggiungo un terzo succede quel casino (ossia, la colonna centrale si
allunga ma se la allungo troppo si restringe!)
Tra l'altro quando ho fatto questo script ricordo di aver avuto un problema
simile anche con left. Sinceramente non ricordo bene, ma nel sorgente ho
scritto:
 //setto left=getComputedStyle (non sono la stessa cosa...boh)
 __IP_D1.style.left=getComputedStyle(__IP_D1,"").left;
Avevo avuto qualche problema e avevo dovuto forzare la style.left come la
style.left di sè stessa calcolata con getComputedStyle. Purtroppo non lo ho
scritto, ma mi sembra di ricordare di aver avuto tale problema proprio con
firefox.
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

  __IP_D1.style.left=getComputedStyle(__IP_D1,"").left;
Difatti style.left e getComputedStyle().left *sono* due cose diverse. Non
sono la stessa cosa.
Al limite bisognerebbe capire il contesto per cui hai dovuto forzare una
cosa del genere.
-- 
ZER0 
~ "Lo dice il buon senso, ma il buon senso non e' uno standard".
(Jeffrey Zeldman)

 cosa del genere.
Stessa cosa: qua il problema è nato con la height, mentre prima era nato
con la left. Però non ricordo appunto l'esatto problema che mi aveva
portato a scrivere la riga indicata.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.