Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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...

Geschrieben

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.

Geschrieben

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].

Geschrieben

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 ;(

Geschrieben
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 :D

</OT>

Geschrieben
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 :D

</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>

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...