Jan: Neben document.bgColor auch document.background?

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

  1. Weiß jemand den richtigen Befehl, wie ich für den Hintergrund Bilder ansprechen kann?

    background-image

    :o)

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

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

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

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

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

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