Hallo,
ich habe ein Problem mit window.settimeout und währe sehr dankbar, wenn mir da Jemand von euch weiterhelfen könnte.
Das Problem liegt daran, dass sich die Methode CountdownAnzeigen() nicht selbst aufrufen lässt.
Wenn ich die Methode in eine Funktion umwandle geht es problemlos.
Naja hier der Code der Klasse, der Aufruf mit settimeout steht ganz unten.
Und hier die HTML Datei mit der ich das Objekt erstelle.
Vielen dank an Alle die mir helfen möchten.
MFG
ich habe ein Problem mit window.settimeout und währe sehr dankbar, wenn mir da Jemand von euch weiterhelfen könnte.
Das Problem liegt daran, dass sich die Methode CountdownAnzeigen() nicht selbst aufrufen lässt.
Wenn ich die Methode in eine Funktion umwandle geht es problemlos.
Naja hier der Code der Klasse, der Aufruf mit settimeout steht ganz unten.
PHP:
function Countdown(CountJahr,CountMonat,CountTag,CountStunde,CountMinute,CountSekunde){
this.CountdownJahr = CountJahr;
this.CountdownMonat = CountMonat;
this.CountdownTag = CountTag;
this.CountdownStunde = CountStunde;
this.CountdownMinute = CountMinute;
this.CountdownSekunde = CountSekunde;
this.CountdownAnzeigen();
}
Countdown.prototype.CountdownAnzeigen = function(){
var Jetzt = new Date();
var Countdown = new Date(this.CountdownJahr, this.CountdownMonat-1, this.CountdownTag, this.CountdownStunde, this.CountdownMinute, this.CountdownSekunde);
var MillisekundenBisCountdown = Countdown.getTime()-Jetzt.getTime();
var Rest = Math.floor(MillisekundenBisCountdown/1000);
var CountdownText = "";
var Tageh = 0;
if(MillisekundenBisCountdown <= 0)CountdownText = "abgelaufen";
if(Rest >= 31536000)
{
var Jahre = Math.floor(Rest/31536000);
Rest = Rest-Jahre*31536000;
if(Jahre > 1 || Jahre == 0)
{
//CountdownText += Jahre + " Jahre ";
}
else if(Jahre == 1)
{
//CountdownText += Jahre + " Jahr ";
}
}
if(Rest >= 86400)
{
var Tage = Math.floor(Rest/86400);
Rest = Rest-Tage*86400;
if(Tage > 1 || Tage == 0)
{
//CountdownText += Tage + " Tage ";
Tageh = Tage * 24;
}
else if(Tage == 1)
{
//CountdownText += Tage + " Tag ";
Tageh = Tage * 24;
}
}
if(Rest >= 3600)
{
var Stunden = Math.floor(Rest/3600);
Rest = Rest-Stunden*3600;
if(Stunden > 1 || Stunden == 0)
{
CountdownText += Stunden + Tageh + "h ";
}
else if(Stunden == 1)
{
CountdownText += Stunden + Tageh + "h ";
}
}
if(Rest >= 60)
{
var Minuten = Math.floor(Rest/60);
Rest = Rest-Minuten*60;
if(Minuten > 1 || Minuten == 0)
{
CountdownText += Minuten + "m ";
}
else if(Minuten == 1)
{
CountdownText += Minuten + "m ";
}
}
if(Rest > 1 || Rest == 0)
{
CountdownText += Rest + "s ";
}
else if(Rest==1)
{
CountdownText += Rest + "s ";
}
document.getElementById("test").innerHTML = CountdownText;
window.setTimeout("this.CountdownAnzeigen()", 1000);
}
Und hier die HTML Datei mit der ich das Objekt erstelle.
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Javasript</title>
<script type = "text/javascript" src = "start.js"></script>
<script type = "text/javascript" >
</script>
<meta name="description" content=""/>
<meta name="keywords" content=""/>
</head>
<body >
<div id="wrapper">
<div id="header"></div>
<div id="content">
<div id="test"></div>
</div>
</div>
</body>
</html>
<script type="text/javascript">
var objectA = new Countdown(2009,5,2,10,40,10);
</script>
Vielen dank an Alle die mir helfen möchten.
MFG