So, ich hab jetzt endlich Zeit gefunden, dir das Javascript zu erstellen
Und hier ist es:
<form name="Bildwechsel" id="
8,20-8,30" action=""><img border="0" src="
http://www.adresse-deiner-webseite.de/Bild1.gif" alt="" width="20" height="20"></form>
<form name="Bildwechsel" id="
10,1-10,15" action=""><img border="0" src="
http://www.adresse-deiner-webseite.de/Bild2.gif" alt="" width="20" height="20"></form>
<form name="Bildwechsel" id="
7,6-7,6" action=""><img border="0" src="
http://www.adresse-deiner-webseite.de/Bild3.gif" alt="" width="20" height="20"></form>
<form name="Bildwechsel" id="
12,24-12,31" action=""><img border="0" src="
http://www.adresse-deiner-webseite.de/Bild4.gif" alt="" width="20" height="20"></form>
<script type="text/javascript">
<!--
if(document.Bildwechsel)
{
var Zeitpunkt = (new Date()).getTime();
var dieses_Jahr = (new Date()).getYear();
var Durchlaeufe = document.Bildwechsel.length;
var eine_Form = Durchlaeufe<1;
if(dieses_Jahr<1900)
dieses_Jahr+=1900;
if(eine_Form)
Durchlaeufe++;
for(var i=0;i<Durchlaeufe;i++)
{
die_Form = eine_Form ? document.Bildwechsel:document.Bildwechsel[i];
with(die_Form.id)
var von_bis = new Array(substring(0,indexOf("-")),substring(indexOf("-")+1));
var Anzeigedaten = new Array();
for(var j=0;j<2;j++)
Anzeigedaten[j] = eval("new Date("+dieses_Jahr+","+von_bis[j]+")").getTime()+(j<1 ? 0:86400000);
if((Zeitpunkt<Anzeigedaten[0])||(Zeitpunkt>Anzeigedaten[1]))
die_Form.style.display = "none";
}
}
//-->
</script>
Das Javascript macht die Bilder, die an dem Tag nicht erscheinen sollen, unsichtbar. Dafür rechnet es die angegebenen Daten in Millisekunden um und überprüft, ob das heutige Datum (in Millisekunden umgerechnet) dazwischen liegt. Trifft das zu, bleibt das Bild sichtbar. Trifft es nicht zu, greift das Script auf die CSS-Formatierung des Formulars, in dem das Bild liegt, zu und setzt die CSS-Eigenschaft
display auf "none" (= unsichtbar).
Um jetzt überhaupt für ein Bild festzulegen, dass es per Javascript ein- oder ausgeblendet wird, musst du ein Formular mit dem
name "Bildwechsel" erstellen und das Bild da hineinpacken. In die
id des Formulars schreibst du den Zeitraum Von-Bis, in dem das Bild erscheinen soll (kann z.B. auch 24. Dezember bis 24. Dezember sein, wenn es nur an einem Tag erscheinen soll). Hier musst du aber beachten, dass die Monatszählung in Javascript bei 0 beginnt; also steht 0 für Januar, 1 für Februar, 2 für März, etc.. Die Datumschreibweise ist mm:tt. Die einzelnen Zahlen der Daten werden mit einem
, Beistrich voneinander getrennt und zwischen die beiden Von-Bis Datumangaben kommt ein
- Bindestrich.
Beispiel: für 24. Dezember bis 30. Dezember schreibst du "11,24-11,30".
Hier hab ich jetzt schon so ein fertiges Formular mit Bild drin (Datumangabe ist rot markiert):
<form name="Bildwechsel" id="
7,18-10,25" action=""><img border="0" src="
http://www.adresse-deiner-webseite.de/Bild.gif" alt="" width="20" height="20"></form>
Dieses Beispiel lässt das Bild vom 18. August bis zum 25. November erscheinen. Statt dem Bild kannst du übrigens auch andere HTML-Elemente verwenden, falls du zum Beispiel einen Text für einen bestimmten Zeitraum anzeigen möchtest. Bei dem Javascript hab ich dir auch schon 4 fertige Beispiele mit Bild dazugegeben
Dieses Javascript funktioniert in allen Javascript und CSS unterstützenden Browsern. W3C valide ist es natürlich auch