Seite 1 von 1
JavaScript: Größe eines versteckten divs herausbekommen
Verfasst: 30.01.2008, 17:39
von wuschba
Hi. Ich habe ein div, das mit display:none beim Laden der Seite nicht sichtbar ist. Nun möchte ich gerne die Größe dieses divs herausbekommen. Leider liefert offsetWidth /offsetHeight immer 0, wenn das div nicht wenigstens 1x sichtbar war. Ich muss aber die Größe kennen, BEVOR ich es sichtbar mache, denn davon hängt die Position ab. Mache ich es erst sichtbar und frage dann die Größe ab (dann funktionierts ja), springt das div dann in die neue Position, was ein kurzes, sichtbares Zappeln zur Folge hat - und das will ich nicht.
Verfasst:
von
Hochwertiger Linkaufbau bei ABAKUS:
- Google-konformer Linkaufbau
- nachhaltiges Ranking
- Linkbuilding Angebote zu fairen Preisen
- internationale Backlinks
Wir bieten
Beratung und
Umsetzung.
Jetzt anfragen:
0511 / 300325-0
Verfasst: 30.01.2008, 17:50
von net(t)worker
mach es doch ausserhalb des sichtbaren bereiches sichtbar, ermittel die größe und dann setz die neue position.. dann sieht man das zappeln nicht...
Verfasst: 30.01.2008, 18:11
von wuschba
Leider doch, denn dann zappeln mir die Scrollbalken rein, die dann entweder erscheinen oder kurz größer werden

Verfasst: 30.01.2008, 18:16
von net(t)worker
versuchs mal mit negativen Koordinaten für das div, so das es also links oben übern monitor "erscheint"....
Verfasst: 30.01.2008, 18:18
von bloddy newbie
Arbeite mit z-index und lege das DIV unterhalb deiner eigentlichen Seite. Dort kannste es sichtbar machen und die Größe ermitteln. Wäre für die Ermittlung der Größe nicht style.width und style.height ausreichend?
Grüße
Verfasst: 30.01.2008, 19:35
von wuschba
Erstmal danke für die Antworten.
@bloddy newbie: Hm, also style.width und style.height ist bei mir immer leer... Die Größe des divs wird nicht explizit gesetzt, sondern ergibt sich aus dem Inhalt. Und es scheint egal, ob ich einen z-index < 0, > 0 oder = 0 nehme, die Scrollbalken werden immer sichtbar,
@net(t)worker: Negative Werte gehen. Danke!
Verfasst: 30.01.2008, 21:14
von bloddy newbie
Wenn du das DIV in den Hintergrund packst, mußt du es ja auch nicht nach außen legen... aber Networkers Lösung ist einfacher

.
Grüße