SixxKiller
Erfahrenes Mitglied
Hi Leutz.
hab mal wieder ein kleines Prob. Ich hab ein JavaScript eingebaut in
eine fla. Es geht da um einen Countdown. Dieses Script möchte ich nun
gern auslagern um es besser nachträglich bearbeiten zu können.
Hatte schonmal hier gepostet aber finde die Beiträge nicht
mehr, sind auch nicht mehr in meinen Abos. Man hatte mir damals empfohlen
eine XML Datei zu erstellen.
Hier der Code der XML datei:
Und hier das eigentliche JavaScript:
Mir geht es jetzt um das was in der fla stehen muss damit die XML aufgerufen wird.
Es hat damals funktioniert aber ledier hab ich die Daten nicht mehr.
Danke schonmal für eure Hilfe.
Greetz SixxKiller
hab mal wieder ein kleines Prob. Ich hab ein JavaScript eingebaut in
eine fla. Es geht da um einen Countdown. Dieses Script möchte ich nun
gern auslagern um es besser nachträglich bearbeiten zu können.
Hatte schonmal hier gepostet aber finde die Beiträge nicht
mehr, sind auch nicht mehr in meinen Abos. Man hatte mir damals empfohlen
eine XML Datei zu erstellen.
Hier der Code der XML datei:
Code:
<?xml version="1.0" encoding="utf-8"?>
<startdatum>
<jahr>2007</jahr>
<monat>03</monat>
<tag>18</tag>
<stunde>19</stunde>
<minute>30</minute>
<sekunde>0</sekunde>
</startdatum>
Und hier das eigentliche JavaScript:
Code:
var jahr = 2007, monat = 08, tag = 16, stunde = 15, minute = 00, sekunde = 0;
// Ziel-Datum in MEZ
var zielDatum = new Date(jahr, monat-1, tag, stunde, minute, sekunde);
function countdown() {
startDatum = new Date();
// Aktuelles Datum
// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if (startDatum <= zielDatum) {
var jahre = 0, monate = 0, tage = 0, stunden = 0, minuten = 0, sekunden = 0;
/* Allgemeines Vorgehen:
* Zunächst werden die vollen Jahre gezählt
* und anschließend der Start- und Ziel-Monat auf den jeweiligen 1. gesetzt.
* Nun werden erst die vollen Monate vom 1. zum 1. des Start- bzw. Ziel-Monats berechnet
* und danach die tatsächlichen Monatstage wieder mit einbezogen.
* Dieses Vorgehen vermeidet Probleme mit den verschiedenen Monatslängen.
* Die restliche Differenz zwischen Start- und Ziel-Zeit wird mit Tagen aufgefüllt und
* was dann noch übrig bleibt, in Stunden, Minuten und Sekunden ausgedrückt.*/
// Jahre
if (startDatum<zielDatum) {
while (startDatum<zielDatum) {
if (startDatum.setFullYear(startDatum.getFullYear()+1)<=zielDatum) {
jahre++;
}
}
startDatum.setFullYear(startDatum.getFullYear()-1);
}
// Restliche Tage zum Monatsende ermitteln
var restTage = 0;
var m = startDatum.getMonth();
if (m == 1-1 || m == 3-1 || m == 5-1 || m == 7-1 || m == 8-1 || m == 10-1 || m == 12-1) {
restTage = 31-startDatum.getDate();
} else if (m == 4-1 || m == 6-1 || m == 9-1 || m == 11-1) {
restTage = 30-startDatum.getDate();
} else if (m == 2-1) {
if (startDatum.getFullYear()%4 == 0 && (startDatum.getFullYear()%100 != 0 || startDatum.getFullYear()%400 == 0)) {
restTage = 29-startDatum.getDate();
} else {
restTage = 28-startDatum.getDate();
}
// Schaltjahr
}
// Start- und Ziel-Tag merken und auf 1 setzen
var startTag = startDatum.getDate();
var zielTag = zielDatum.getDate();
startDatum.setDate(1);
zielDatum.setDate(1);
// Monate
if (startDatum<zielDatum) {
while (startDatum<zielDatum) {
if (startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) {
monate++;
}
}
startDatum.setMonth(startDatum.getMonth()-1);
}
// Tatsächlichen Start- und Ziel-Tag berücksichtigen
if (startDatum.getMonth() == zielDatum.getMonth()) {
if (startTag<=zielTag) {
startDatum.setDate(startTag);
} else {
monate--;
tage = restTage+1;
}
} else {
startDatum.setMonth(startDatum.getMonth()+1);
if (startTag>=zielTag) {
tage = restTage+1;
} else {
monate++;
startDatum.setDate(startTag);
}
}
zielDatum.setDate(zielTag);
// Tage
restTage = Math.floor((zielDatum-startDatum)/(24*60*60*1000));
startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000);
tage += restTage;
// Stunden
stunden = Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);
// Minuten
minuten = Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);
// Sekunden
sekunden = Math.floor((zielDatum-startDatum)/1000);
// Anzeige formatiere
(tage<10) ? tage="0"+tage+"t " : tage=tage+"t ";
(stunden<10) ? stunden="0"+stunden+"h " : stunden=stunden+"h ";
(minuten<10) ? minuten="0"+minuten+"m " : minuten=minuten+"m ";
(sekunden<10) ? sekunden="0"+sekunden+"s" : sekunden=sekunden+"s";
if (monate>0) {
(monate<10) ? monate=monate+"M " : monate=monate+"M ";
txt.text = monate+tage+stunden+minuten+sekunden;
} else {
txt.text = "In: "+tage+stunden+minuten+sekunden;
}
} else clearInterval(interval);
// Anderenfalls alles auf Null setzen
// document.countdownform.countdowninput.value="0 Jahre, 0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
}
interval = setInterval(this, "countdown", 200);
Mir geht es jetzt um das was in der fla stehen muss damit die XML aufgerufen wird.
Es hat damals funktioniert aber ledier hab ich die Daten nicht mehr.
Danke schonmal für eure Hilfe.
Greetz SixxKiller