forTeesSake Geschrieben 20. Juli 2006 Geschrieben 20. Juli 2006 Hi und hallo, bin verzweifelt auf der Suche wie ich per Javascript den style des body tags einer HTML Datei beeinflussen kann. Ich dachte, und ich lese auf massig Seiten davon, dass ich das über document.body.style.width lösen kann, aber das funktioniert nicht selbst document.body wird im IE 6 und FF als "null" angegeben. Wäre froh über jede Antwort
McMaiers Geschrieben 20. Juli 2006 Geschrieben 20. Juli 2006 Du kannst es ja so machen , indem du den BODYM Tag einfach selber schreibst! Hier ein kleines Bsp. welches immer ein anderes HG Bild hernimmt, daas kannst ja leicht umschrieben auf Farben, oder andere Styles! <script type="text/javascript"> <!-- var h = new Array(5) ; { h[0]="bild1.gif"; h[1]="bild2.gif"; h[2]="bild3.gif"; h[3]="bild4.gif"; h[4]="bild5.gif"; }; var hb; hb=h[Math.floor(5*Math.random())] document.write("<body background=" + hb + ">"); // --> </script> Cu mcmaiers
xmurrix Geschrieben 20. Juli 2006 Geschrieben 20. Juli 2006 Die JavaScript-Funktion, die auf den Body-Tag zugreift, sollte nicht im Head sein, da das Script beim Client dann ausgeführt wird, bevor das Body Element beginnt. Also falls im Head, dann beim onload-Event, z. B.: <script type="text/javascript"><!-- function changeBody(){ alert(document.body.style.width); document.body.style.width = "100px"; alert(document.body.style.width); } onload = changeBody; // --></script> oder nach dem öffnen des Body-Tags: <body> <script type="text/javascript"><!-- alert(document.body.style.width); document.body.style.width = "100px"; alert(document.body.style.width); // --></script> Gruß xmurrix
forTeesSake Geschrieben 21. Juli 2006 Autor Geschrieben 21. Juli 2006 Alles klar, ich danke euch beiden. Leider komme ich so nicht weiter. Problem ist, dass ich eine absolut positionierte Navigation auf der rechten Seite mit right: 0px habe. Diese soll immer right: 0px sein, aber nur bis eine browserbreite von 1280 erreicht ist. dann soll die navigation stehn bleiben. dazu möchte ich per javascript an dieser stelle das body tag immer auf 1280 px setzen. Das funktioniert nun über document.getElementsByTagName('body').width = "1280px". Leider interessiert das dann aber nur den FF. der IE macht das nicht ;( Hab das auch noch mit einem anderen, wirlich funktionierenden, Javascript gelöst, die o.g. Lösung wäre aber einfach um einiges eleganter...
Aiun Geschrieben 21. Juli 2006 Geschrieben 21. Juli 2006 welchen doctype benutzt du ? Dem Body eine Breite zuweisen ist ganz böse - meiner Meinung nach. möchtest du das Fenster auf max. 1280px begrenzen ? Ansonsten schlage ich vor du machst dir ein div um den gesamten inhalt und gibtst dem dann eine feste höhe und breite. Absolute Positionierung anhand dieses 'über'-Divs sollte auch gehen, sofern es absolut positioniert ist.
azett Geschrieben 21. Juli 2006 Geschrieben 21. Juli 2006 Muß es JS sein? Hätte sonst noch eine spontane (und ungetestete) Lösung mittels CSS anzubieten: Du baust ein (Inhalts-)Div, und rechts daneben fließt das Navi-Div. Dem Inhalts-Div gibst du ne max-width von 1280px - [breite des Navi-Divs].
forTeesSake Geschrieben 21. Juli 2006 Autor Geschrieben 21. Juli 2006 hallo ihr beiden. leider geht beides nicht. die breite der gesamtseite soll nicht fest bei 1280px liegen. max-width wäre genau die lösung, aber das geht ja leider im IE nicht ;(
azett Geschrieben 21. Juli 2006 Geschrieben 21. Juli 2006 aber das geht ja leider im IE nicht Traurig, daß man für meinen "Lieblingsbrowser" immer so einen Buckel machen muß. Wie wäre es, wenn du an der Stelle mit JS die Browserbreite ausliest und dem Inhalts-Div dann eine daraus berechnete Breite zuweist? <OT> Nettes Profilbild, btw </OT>
forTeesSake Geschrieben 21. Juli 2006 Autor Geschrieben 21. Juli 2006 Traurig, daß man für meinen "Lieblingsbrowser" immer so einen Buckel machen muß. Wie wäre es, wenn du an der Stelle mit JS die Browserbreite ausliest und dem Inhalts-Div dann eine daraus berechnete Breite zuweist? <OT> Nettes Profilbild, btw </OT> Dass der IE mein "Lieblingsbrowser" ist, weise ich hiermit mal energisch zurück Ansonsten ist deine Lösung tatsächlich das, was ich bereits gemacht habe. Wäre halt eleganter gewesen den Body zu manipulieren, aber wenn das *aua* macht lass ich´s lieber. <OT> Jaja - Die Olsenbande hehe. find´s auch sehr lustich^^ </OT>
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden