Wetteranzeige

::emanuel::

Erfahrenes Mitglied
Hi Leute!
Ich hab da ein rießiges Problem und wäre sehr dankbar wenn ihr mir helfen könntet!

Ich habe einen Wetterserver, der Bilder nach Datum und Uhrzeit abspeichert. Das heißt z.B. e0405162000.jpg.
Das 04 steht für 2004, das 05 für Mai, das 16 für den 16. und das 2000 steht für 20:00 Uhr. Stündlich wird eine neue Datei erzeugt.

Jetzt meine Frage:
Ist es möglich, eine Animation aus den letzten sechs Bilder zu machen. Das schwierige besteht aber darin, dass die ersten fünf Bilder schneller abgespielt werden sollen und das sechste (also das aktuellste) etwas länger stehen bleiben soll.
Das zweite Problem, das ich hab, besteht darin, dass diese Animation stündlich immer ein neues Bild hinzufügt, aber trotzdem immer nur sechs Bilder angezeigt werden. Das heißt, die Animation sollte upgedatet werden.
Ist es möglich, einen aufsteigenden Zähler zu programmieren oder so etwas in der Art?
Wäre es denn möglich, dass man einfach die Dateien mit der größten hinteren Zahl herausnimmt, das heißt z.B. e0405162000.jpg statt e0405161900.jpg ?

Ich wäre euch wirklich sehr dankbar für einen Lösungsansatz oder gar Lösung!

Liebe Grüße,

Emanuel
 
Hallo...

das mit der unterschiedlichen Anzeigedauer ist nicht sehr kompliziert:
Code:
<script type="text/javascript">
<!--
intIndex=0;
intTimeout=3000;

arrImgs=new Array();
arrImgs.push('e0405161800.jpg');
arrImgs.push('e0405161900.jpg');
arrImgs.push('e0405162000.jpg');
arrImgs.push('e0405162100.jpg');
arrImgs.push('e0405162200.jpg');
arrImgs.push('e0405162300.jpg');

function wetter()
{
document.wetterkarte.src=arrImgs[intIndex];
intSleep=(intIndex==5)?intTimeout*5:intTimeout;
intIndex=(intIndex==5)?'0':Number(intIndex)+1;
setTimeout('wetter()',intSleep);
}
wetter();
//-->
</script>
Du hast halt alle Dateinamen in einem Array, durchläufst diesen Array zeitgesteuert, und lässt beim letzten Array-Element hlt etwas mehr Zeit verstreichen(im Bsp. bleibt jedes Bild 3sec stehen,[intTimeout]....das letzte bleibt 3 mal solange da wie die anderen.

Problematischer ist das mit dem Updaten.... du kannst die Javascript-interne Zeit nicht verwenden, da diese clientseitig ermittelt wird.
Stell dir vor, in Tokio betritt zur Frühstückszeit jemand deine Seite.... dein Server hält aber noch Nachtruhe:-)

Probiers mal, indem du mit ner serverseitigen Sprache den Inhalt deines Karten-Verzeichnisses ausliest... am besten gleich alle Karten-Dateinamen in einen Array. Diesen kannst du dann hervorragend sortieren und lässt dir die Namen der 6 aktuellsten Grafiken als JS-Array in die Seite schreiben.

Zum Auslesen des Verzeichnisinhalts bekommst du im PHP-Forum bestimmt Hilfe... dieses Thema gibts dort fast täglich aufs Neue;)
 
Stell dir vor, in Tokio betritt zur Frühstückszeit jemand deine Seite.... dein Server hält aber noch Nachtruhe
tja, das coole ist ja, dass diese Seite nicht im Internet angezeit werden soll. Sie liegt einfach nur auf irgendeinem Server in Österreich für ein anderes Programm.
Wäre es dann einfacher, wenn sie nur auf einem PC zur Verfügung steht?
 
Mit Javascript-Only ginge das so:

Du erzeugst ein Datumsobjekt mit der aktuellen Zeit.
Von diesem Objekt ausgehend erzeugst du in einer Schleife 5 neue Datums-Objekte, indem du von dem zuvor erzeugten immer 3600000 abziehst(Millisec in einer Stunde)

Mit den Funktionen getFullYear(), getMonth(),getDate() und getMinutes() kannst du dir dann jeweils die Namen der Grafiken, welche dein "Wetterserver" erzeugt haben sollte, zusammenbauen.

Ich finds so aber eher murksig, denn eine Garantie, dass diese Bilder auch existieren, gibts dann nicht.
Infos zum Date-Objekt bekommst du z.B. bei SelfHTML
 

Neue Beiträge

Zurück