Ebenen zentrieren
Josip Breskic
- css
Hi Leute,
brauche professionelle Hilfe. Nicht dasas ich keine Ahnung hätte, aber ich finde hierfüer einfach keine gute Lösung.
Das Problem:
Ich habe einige Ebenen, die in einer Ebene ("center" genannt) zusammengefasst sind. Die Ebene "center" habe ich via JavaScript zentriert (vertikal und horizontal), was (zum Glück) in NS 4.x und IE 4.x und aufwärts wunderbar funktioniert.
Nun aber das eigentliche Problem - wenn ich die Seite dann auf dem Server habe, dann lädt er wild durcheinander die Inhalte der einzelnen Ebenen, bis dann irgendwann auch das JavaScript abgearbeitet wurde und er dann die Ebene "center" zentriert.
Nicht schlimm wird so macher sagen - aber für eine professionell gestaltete und entwickelte Seite wirkt das natürlich lästig und es bricht das durchgängig gute Design meiner Seite. (Es handelt sich übrigens um meine private Seite, die ich in Flash und HTML zur Verfügung stellen möchte und HTML macht da eben noch einige Problemchen ...)
Was ich also wissen muss - wie kann ich das Script meine "center" Ebene zentrieren lassen, bevor die Inhalte in meine untergeordneten Ebenen geladen werden. Kann ich IE und NS dazu zwingen auf die Zentrierung zu warten und erst dann die anderen Ebenen anzuzeigen?
Schon jetzt vielen Dank -
MfG
CyberJosel (Josip Breskic)
Tach!
Eine Möglichkeit ist, alle Ebenen per js zu erzeugen und erst am Ende sichtbar zu machen.
Das könnte z.B. so funktionieren:
if(document.layers) {
a = "document";
b = "";
} else if (document.all) {
a = "document.all";
b = ".style";
}
function schreiben() {
layer1Obj = eval (a + '["layer1"]' + b);
layer1.left = ...;
layer1.top = ...;
layer2Obj = .....
.
.
.
layer1Obj.visibility = "visible";
layer2Obj.visibility = "visible";
.
.
.
}
<body onLoad = "schreiben()">
Ich hoffe mal, das klappt so.
Eine Alternative wäre, zunächst einen Dummy-Layer zu schreiben, der einen Hinweis enthält, daß die Seite geladen wird.
Nun muß man nur noch den Seitenaufbau überwachen, z.B. mit einer Preload-Funktion, in der am Ende der Dummy-Layer versteckt wird.