Neben document.bgColor auch document.background?
Jan
- javascript
Hallo Leute!
Ich hab ein Script, welches je nach Tageszeit eine andere Hintergrundfarbe anzeigt. Das alles wird mit document.bgColor ermöglich.
Nun haben wir auf der Site aber einen schönen Wolkenhimmel, den wir gegen Morgendämmerung, Sternenhimmel..... austauschen wollen. Doch bei bgColor kann ich ja kein Hintergrundbild angeben und mit document.background hat es nicht funktioniert.
Weiß jemand den richtigen Befehl, wie ich für den Hintergrund Bilder ansprechen kann?
Gruß, Jan
Weiß jemand den richtigen Befehl, wie ich für den Hintergrund Bilder ansprechen kann?
background-image
:o)
Weiß jemand den richtigen Befehl, wie ich für den Hintergrund Bilder ansprechen kann?
background-image
:o)
AAHH!! Hoops! Sorry! Das was CSS, du suchst das DOM... hehe, sorry...
=:-O
Hallo Jan,
Nun haben wir auf der Site aber einen schönen Wolkenhimmel, [....]
^^^^^^^^
umpf.
Nun zur Frage. Eine Möglichkeit ist per document.write das body-tag
auszugeben:
<script>
if(es_ist_tag)
document.write('<body background="tag.jpg">');
else
document.write('<body background="nacht.jpg">');
</script>
<noscript>
<body background="neutral.jpg">
</noscript>
Gruss,
Carsten
Hallo Carsten!
Das Problem bei document.write ist, dass er den ganzen Inhalt ersetzt, also würde dann auf der Seite statt meinem ganzen Linkmenü nur noch der body-Tag mit dem definierten Hintergrundbild stehen. So müsste ich also durch document.write immer die ganze Seite ausschreiben lassen, doch das will nicht.
Ich kann es einfach nicht glauben, dass es mit document.bgColor so leicht mit Farben geht, hier aber keine Bilder unterstützt werden *ärger*
Gruß, Jan
Hallo Jan,
Das Problem bei document.write ist, dass er den ganzen Inhalt ersetzt [...]
Nein.
Nicht wenn es sozusagen mitten im Text steht. Das Scriptteilchen kannst du
so einfach gegen den bestehenden <Body> austauschen und es wird gehen.
Nur wenn du nachdem die Seite gerendert ist (z.b. per Funktionsaufruf im
onLoad) document.write()est musst du alles ausgegeben.
Gruss,
Carsten
Hallo Carsten!
Ich verstehe was Du meinst, doch es klappt trotzdem nicht :o(
Hier mal der code, vielleicht findest ja den Fehler
<html>
<head>
</head>
<script language="Javascript">
<!--
function bgfarbe()
{
jetzt=new Date()
//Aus der Zeit die Stunde herausfiltern
stunde=jetzt.getHours()
if (stunde >= 6 && stunde < 11)
{
document.write('<body background="grafik1.jpg">');
}
if(stunde >= 11 && stunde <17)
{
document.write('<body background="grafik2.jpg">');
}
if(stunde >= 17 && stunde < 21)
{
document.write('<body background="grafik3.jpg">');
}
if(stunde > 21 stunde < 6)
{
document.write('<body background="grafik4.jpg">');
}
}
//-->
</script>
</body>
</html>
Vorher war der code so, dass zuerst die Farben als Variablen definiert wurden, und dann wurden diese mit return farbe ausgegeben, ein weiteres Script sorgte dann mit document.bgColor=bgfarbe dafür, dass der Hintergrund entsprechend definiert wurde.
Gruß, Jan
Hallo Jan,
function bgfarbe()
{
das weglassen.
[...]
}
das auch weglassen
Die Funktion bgfarbe() wird nie aufgerufen, deshalb geht es nicht.
Da das ganz auch nur einmal, und zwar genau beim laden des Dokumentes
passieren soll, brauchst du keine Funktion.
Gruss,
Carsten