Zum Inhalt springen

[JS] document body


forTeesSake

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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