Luke: Dynamisch 'statischen Kalender' Hintergrundfarben zuweisen

Hi an alle,

habe folgendes Problem. Ich habe eine statische Tabelle mit 365 Tds für ein Jahr. Jedes td hat eine eindeutige id. Kann ich mit der getDay Methode die Samstage und Sonntage im Kalender bestimmen und Farben zuweisen.
Ich habe schon im style im head bereich für Samstag und Sonntag eine background-color zugewiesen.

Geht das überhaupt was ich vorhabe ? Ich will nicht in jedes 7 td im tag class="SA" oder class="SO" schreiben damit die Farbe zugewiesen wird.
Ich will es mit einem onload Funktion erzeugen...

Danke für eure Hilfsbereitschaft ;-)

  1. naja, muss herausfinden, das wiefielte td- element ist, in dem der erste kalendereintrag steht, und dann kannst du ja mit getElementByTag() und mit einer for- schleife jedes td- element durchgehen und jedes siebte element mit der dafür vorgesehenen farbe belegen...

    greeze
    rob

    1. naja, muss herausfinden, das wiefielte td- element ist, in dem der erste kalendereintrag steht, und dann kannst du ja mit getElementByTag() und mit einer for- schleife jedes td- element durchgehen und jedes siebte element mit der dafür vorgesehenen farbe belegen...

      greeze
      rob

      Hi rob,

      habe es schon ausprobiert klappt so nicht, und das mit dem 7 td war nur so gemeint. Samstag erhält eine andere Farbe sowie Sonntag. Diese sind im style Tag schon definiert. Mein Problem ist welche Td was für ein Farbe erhält. Wie kann ich die Farbe zuweisen ?

      1. document.getElementById("Irgendeinsonntag").style.background-color=000000;

        meinst du das?

        1. document.getElementById("Irgendeinsonntag").style.background-color=000000;

          meinst du das

          Sorry Rob,

          ich habe mich falsch ausgedrückt. Ich benötige eine For - Schleife das mir alle Tds durchgeht.
          Dann muss ich denk ich mal mit dem Date Objekt was anfangen. Die getDay Methohde gibt dir Sonntag als "0" und Samstag als "6" zurück. Das und die getDate() irgendwie verknüpfen.

          <tr>
          <td bgcolor=White><label for="JANUAR">Jan</label></td>
          <td id="d0101"><div id="i0101"></div></td>
          <td id="d0201"><div id="i0201"></div></td>
          <td id="d0301"><div id="i0301"></div></td>
          <td id="d0401"><div id="i0401"></div></td>
          <td id="d0501"><div id="i0501"></div></td>
          <td id="d0601"><div id="i0601"></div></td>
          <td id="d0701"><div id="i0701"></div></td>
          <td id="d0801"><div id="i0801"></div></td>
          <td id="d0901"><div id="i0901"></div></td>
          <td id="d1001"><div id="i1001"></div></td>
          <td id="d1101"><div id="i1101"></div></td>
          <td id="d1201"><div id="i1201"></div></td>
          <td id="d1301"><div id="i1301"></div></td>
          <td id="d1401"><div id="i1401"></div></td>
          <td id="d1501"><div id="i1501"></div></td>
          <td id="d1601"><div id="i1601"></div></td>
          <td id="d1701"><div id="i1701"></div></td>
          <td id="d1801"><div id="i1801"></div></td>
          <td id="d1901"><div id="i1901"></div></td>
          <td id="d2001"><div id="i2001"></div></td>
          <td id="d2101"><div id="i2101"></div></td>
          <td id="d2201"><div id="i2201"></div></td>
          <td id="d2301"><div id="i2301"></div></td>
          <td id="d2401"><div id="i2401"></div></td>
          <td id="d2501"><div id="i2501"></div></td>
          <td id="d2601"><div id="i2601"></div></td>
          <td id="d2701"><div id="i2701"></div></td>
          <td id="d2801"><div id="i2801"></div></td>
          <td id="d2901"><div id="i2901"></div></td>
          <td id="d3001"><div id="i3001"></div></td>
          <td id="d3101"><div id="i3101"></div></td>
          </tr>

          Das ist der Monat Januar 2002. Welches ist davon Samstag(silber) und Sonntag(dunkelgrau)? Dynamische Erzeugung mit Farbzuweisung. Das ist mein Problem...

          Luke

        2. document.getElementById("Irgendeinsonntag").style.background-color=000000;

          meinst du das?

          WAHHHH!!!!1 Was ist denn das für ein Müllcode?

          document.getElementById("dieIDdesTages").style.backgroundColor="#000000";
          Das wäre korrekt, so weist man der ID eine Hintergrundfarbe zu (geht sogar in Opera).

          Jetzt muss man nur noch die IDs generieren. Die ID ist ein String. Also: String zusammensetzen, so dass eine Samstags-ID oder Sonntags-ID entsteht, und dann mit

          document.getElementById(deridstring).style.backgroundColor="Sonntagsfarbe";

          der ID zuweisen.

          Ich muss allerdings sagen, dass es wesentlich günstiger wäre, tatsächlich mit entsprechenden Klassen zu arbeiten - genau dafür sind sie da. Wenn der Kalender dynamisch (skriptgesteuert) generiert wird, ist das kein Problem. Bei statischen HTML-Seiten leidet unter Umständen die Wiederverwertbarkeit etwas - und es ist am Anfang Tipparbeit.

          Aber das ist auch kein Problem: Die Klassen müssen ja nicht zwingend den Wochentag definieren, sondern nur rotierend von 0 bis 6 durchzählen - die Farbe des Sonntags definiert man dann im CSS.

          <td id="0101" class="tag1">
          <td id="0102" class="tag2">
          <td id="0103" class="tag3">
          <td id="0104" class="tag4">
          <td id="0105" class="tag5">
          <td id="0106" class="tag6">
          <td id="0107" class="tag0">
          <td id="0108" class="tag1">...

          Wenn der Sonntag auf den 03.01. fällt, wird eben die Klasse tag3 entsprechend definiert (und tag2 kriegt die Samstagsfarbe).

          - Sven Rautenberg