pritt: ich bin Anfänger und benötige etwas Hilfe

Hallo und guten Tag,

ich bin Anfänger. Ich stehe gerade vor einem kleinen Rätzel für mich. Ich möchte ein Bild auf einer HP anhand des Monats austauschen. Ab Monat Dezember soll ein Winterbild gezeigt werden. Ich habe bisher das gemacht:~~~html <html>
<head>
<title>Winter Test</title>
</head>
<body>
<script type="text/javascript">
var heute = new Date();
var monat = heute.getMonth();
if(monat == 11 ){
 <img src="images/tb.png" border="0" width="948" height="200" alt="" />
}
</script>
<h2>Winter</h2>
<br />
</body>
</html>

Leider wird das Bild nicht angezeigt. Wo ist mein Fehler?  
  
VG pritt
  1. @@pritt:

    nuqneH

    Ich stehe gerade vor einem kleinen Rätzel für mich.

    Du meinst Ritzel? Äh nein, Rätsel. ;-)

    Ich möchte ein Bild auf einer HP anhand des Monats austauschen. Ab Monat Dezember soll ein Winterbild gezeigt werden.

    Austauschen oder speziell im Dezember eins einfügen?

    var heute = new Date();
    var monat = heute.getMonth();
    if(monat == 11 ){

    Wenn du die Werte sonst nirgens brauchst, musst du sie nich zwischenspeichern und kannst alles in einer Zeile tun:

    if (new Date().getMonth() == 11) {

    if(monat == 11 ){
    <img src="images/tb.png" border="0" width="948" height="200" alt="" />
    }

    Das wird nichts. Du kannst nicht einfache HTML-Code in JavaScript schreiben und erwarten, dass dieser ins Dokument eingefügt wird.

    Eine Möglichkeit (die vermutlich schlechteste) wäre:

    if (new Date().getMonth() == 11) {  
      document.write('<img src="images/tb.png" border="0" width="948" height="200" alt="" />');  
    }
    

    Schöner wäre (wenn das Bild denn ganz am Anfang stehen soll):

    if (new Date().getMonth() == 11) {  
      document.body.innerHTML = '<img src="images/tb.png" border="0" width="948" height="200" alt="" />' + document.body.innerHTML;  
    }
    

    Dann aber das Script erst ganz am Ende des 'body' notieren!

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. danke für deine Antwort.
      mit dem document.write('<img src="images/tb.png" border="0" width="948" height="200" alt="" />') hatte ich es schon probiert, jedoch ohne Erfolg.
      Auch der Andere Vorschlag bringt nicht das Bild. Das Script steht jetzt wie beschrieben ab Ende des Body.

      Das Bild soll nur im Dezember getauscht/ ein anderes sein.(Sommerbild/Winterbild)

      1. [latex]Mae  govannen![/latex]

        danke für deine Antwort.
        mit dem document.write('<img src="images/tb.png" border="0" width="948" height="200" alt="" />') hatte ich es schon probiert, jedoch ohne Erfolg.
        Auch der Andere Vorschlag bringt nicht das Bild. Das Script steht jetzt wie beschrieben ab Ende des Body.

        Steht es auch *vor* dem schließenden body-tag?

        Stur lächeln und winken, Männer!
        Kai

        --
        Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
        in Richtung "Mess up the Web".(suit)
        SelfHTML-Forum-Stylesheet
        1. [latex]Mae  govannen![/latex]

          danke für deine Antwort.
          mit dem document.write('<img src="images/tb.png" border="0" width="948" height="200" alt="" />') hatte ich es schon probiert, jedoch ohne Erfolg.
          Auch der Andere Vorschlag bringt nicht das Bild. Das Script steht jetzt wie beschrieben ab Ende des Body.

          Steht es auch *vor* dem schließenden body-tag?

          Stur lächeln und winken, Männer!
          Kai

          Ja steht es

          <html>  
          <head>  
          <title>Test</title>  
          </head>  
          <body>  
            
            
          <h2>Winter</h2>  
          <br />  
          <script type="text/javascript">  
          if (new Date().getMonth() == 11) {  
            document.body.innerHTML = '<img src="images/tb.png" border="0" width="948" height="200" alt="" />' + document.body.innerHTML;  
          }  
          </script>  
          </body>  
          </html>
          
          1. Kommando zurück, ist da hatte noch etwas übersehen,

            Danke

          2. src="images/tb.png"

            und das ist auch vorhanden?

            1. src="images/tb.png"

              und das ist auch vorhanden?

              ja es ist vorhanden, jetzt noch eine andere damit zusammhängende Frage.
              Das Bild befindet sich in einem <div>. Wie muss das dann dargestellt werden?

            2. Hallo,

              kann´es sein, dass getMonth() == 12 ist? Weil: Ist schon Dezember ;-)

              VG

              1. Om nah hoo pez nyeetz, Fraenk!

                kann´es sein, dass getMonth() == 12 ist? Weil: Ist schon Dezember ;-)

                Früher war der Dezember mal der zehnte Monat, daher auch sein Name. JavaScript hat Julius Caesars Reform nicht richtig verstanden, deshalb lautet die Antwort auf deine Frage "nein".

                Matthias

                --
                1/z ist kein Blatt Papier.

                1. Früher war der Dezember mal der zehnte Monat, daher auch sein Name. JavaScript hat Julius Caesars Reform nicht richtig verstanden, deshalb lautet die Antwort auf deine Frage "nein".

                  Dann halt: getMonth().firstChild.appendData("caesar.kalenderreform") ;-)

          3. [latex]Mae  govannen![/latex]

            Ja steht es

            <html>

            <head>
            <title>Test</title>
            </head>
            <body>

            <h2>Winter</h2>
            <br />
            <script type="text/javascript">
            if (new Date().getMonth() == 11) {
              document.body.innerHTML = '<img src="images/tb.png" border="0" width="948" height="200" alt="" />' + document.body.innerHTML;
            }
            </script>
            </body>
            </html>

              
            OK.  
              
            Ich sehe jetzt direkt keinen Fehler. Ist die Schreibweise des Bildes bezügl. Groß-/Kleinschreibung identisch? Auf vielen Servern ist tb.png eine andere Ressource als TB.png oder tb.PNG oder ähnliches. Fordere das Bild mal direkt vom Server an, indem du http://www.example.org/images/tb.png direkt anforderst () example.org durch deine Domain ersetzen). Ist das Bild dann zu sehen?  
              
            Wenn du das Bild als erstes Element haben willst, dann solltest du nicht innerHTML nutzen, denn dann wird der gesamte Body in eine Zeichenkette umgewandelt und wieder angehängt. Das kostet Performance und kann in bestimmten Fällen (die bei dir wahrscheinlich niczt vorliegen) zu Problemen mit dynamische hinzugefügten eventhandlern führen.  
              
            Besser wäre hier  entweder das Script an genau die Stelle zu setzen, an der das Bild erscheinen soll und dann Gunnars erste Version mit document.write() zu nutzen oder ein Einhängen mit den DOM-Methoden:  
              
            ~~~javascript
            var tbimg = document.createElement('img');  
            tbimg.src = 'images/tb.png';  
            tbimg.width = 948;  
            tbimg.height = 200;  
            tbimg.alt = '';  
            document.body.insertBefore(tbimg, document.body.firstChild);
            

            Stur lächeln und winken, Männer!
            Kai

            --
            Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
            in Richtung "Mess up the Web".(suit)
            SelfHTML-Forum-Stylesheet