Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[JS] document body

Empfohlene Antworten

Veröffentlicht

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

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

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

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

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.

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

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

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>

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>

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.