ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
548
548
EMPFEHLEN
-
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.
PHP-Code:
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.
Vielen dank an Alle die mir helfen möchten.PHP-Code:<!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>
MFG
-
Hallo,
versuch das Setzen des Timeouts mal so:
Das Problem ist, dass sich das this in deinem Code auf das window-Objekt bezieht. Durch das Closure gibst du das Objekt explizit an.Code javascript:1 2
var countdown = this; window.setTimeout(function() { countdown.CountdownAnzeigen(); }, 1000);
Grüße, Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
super hat geklappt DANKE!!
Ähnliche Themen
-
Problem mit eigener Klasse und Objekten dieser Klasse
Von Eroli im Forum C/C++Antworten: 15Letzter Beitrag: 10.06.10, 17:48 -
Problem beim Zugriff auf eine Methode einer Klasse
Von hihachi im Forum C/C++Antworten: 2Letzter Beitrag: 16.01.07, 23:33 -
Variablenwert von einer Klasse in eine andere Klasse geben
Von spiderman21 im Forum JavaAntworten: 2Letzter Beitrag: 02.01.07, 16:27 -
Klasse nutzt Methode einer anderen Klasse
Von sasfed im Forum PHPAntworten: 2Letzter Beitrag: 06.02.06, 19:57 -
Daten von Formular an eine Klasse->Methode übergeben
Von Merlin732 im Forum PHPAntworten: 1Letzter Beitrag: 09.09.05, 12:59





Zitieren

Login





