Zufallsbild aus zwei Auswahlen Tag / Nacht
Sie möchten abhängig von der Uhrzeit ein Bild aus einem von 2 Angeboten anzeigen lassen. Das gewählte Angebot wird durch die Uhrzeit bestimmt. Das angezeigte Bild aus dem jeweiligen Angebot zufällig bestimmt.
Die Bildsammlung in den beiden Angeboten kann jeweils maximal 10 Bilder enthalten.
Während des Tages soll ein Zufallsbild für den Tag, während der Nachtstunden ein Zufallsbild für die Nacht (z.B. Nachtaufnahme) angezeigt werden.
Aufgabe des Scripts
In meinem Beispiel soll das Script:
1) eine von zwei Auswahlen je nach Uhrzeit ermitteln (Tag oder Nacht)
(von 10:00 und bis 17:59 Uhr Auswahl "Tag", ansonsten "Nacht").
2) Aus dieser Auswahl ein Bild zufällig auswählen und anzeigen.
(Den Dateinamen für das Bild zufällig ermitteln)
Der Dateiname des Bildes innerhalb der Auswahl, wird durch das Script als Zufallszahl ermittelt.
"tag" + Zufallszahl + ".jpg" = tag1.jpg)
wenn Uhrzeit größer / gleich 10 oder kleiner 18 dann ...
wenn Uhrzeit kleiner 10 oder größer / gleich 18 dann ...
Demo:
Es gibt eine Auswahl von 9 Bildern für den Tag (tag1.jpg - tag9.jpg)
Es gibt eine Auswahl von 3 Bildern für die Nacht (nacht1.jpg - nacht3.jpg)
Scirpt-Code (Auszug)
<script type="text/javascript" language="JavaScript">
<!--
var now = new Date();
var sec = now.getSeconds();
var Uhrzeit=now.getHours();
// Anzahl der Fotos
var AnzahlTag = 9;
var AnzahlNacht = 3;
// Dateityp Breite Höhe Rand sind in der
// Variablen 'bildattribute' zusammengefaßt
var bildattribute = ".jpg\" width=\"150\" height=\"113\" border=\"1\">";
var SpanneStart = 10;
var SpanneStop = 17;
function foto() {
if (Uhrzeit >= SpanneStart & Uhrzeit <= SpanneStop)
{
var zufallszahl = sec % AnzahlTag;
zufallszahl +=1;
document.write('<img src=\"images/tag' + zufallszahl + ba);
return
}
else
{
var zufallszahl = sec % AnzahlNacht;
zufallszahl +=1;
document.write('<img src=\"images/nacht' + zufallszahl + ba);
return
}
}
//-->
</script>
Erklärung:
Aus dem aktuellen Datum wird der Teil für die aktuelle Stunde ermittelt und in die Variable "Zeit" geschrieben.
Aus dem aktuellen Datum wird der Teil für die aktuelle Sekunde ermittelt, die zur Generierung der Zufallszahl genutzt wird.
Mit einer "IF - ELSE" Anweisung wird der ermittelte Wert mit der Vorgabe verglichen und der entsprechende Teil der Anweisung wird ausgeführt.
Zur Anpassung folgende Änderungen im Script:
| Element | im Script
| hier im Beispiel |
ersetzen mit |
| Startzeit |
SpanneStart |
10 |
Zahl |
| Endzeit |
SpanneStop |
17 |
Zahl |
| Anzahl Tagbilder |
AnzahlTag |
9 |
Zahl |
| Anzahl Nachtbilder |
AnzahlNacht |
3 |
Zahl |
| Bildpfad/Dateiname - Tag |
|
images/tag |
Text |
| Bildpfad/Dateiname - Nacht |
|
images/nacht |
Text |
|
Die Images wurden in meinem beispiel mit "tag1" - "tag9" / "nacht1" - "nacht3" bezeichnet. Die abschließende Zahl des Dateinamens wird durch das Script als Zufallszahl ermittelt.
Dateityp, Breite, Höhe, Rand legen sie in der Variablen für die Bildattribute fest:
var bildattribute = ".jpg\" width=\"150\" height=\"113\" border=\"1\">";
|