![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| ||||||||||||||
| ||||||||||||||
|
|
ich habe hier ein Script das mir die Sekunden zur�ckz�hlt, allerdings ist irgendwann die Variable "REST" bei 0, und der Counter bleibt stehen.. ;-) |
|
Problem ist eigentlich erkannt, |
|
nur wie sol ich das Problem beheben? |
|
[...] script language="Javascript" |
|
!-- |
|
var REST = 100000; [...] |
|
[...] var COUNTDOWN = setInterval(function(){ |
|
[...] document.getElementById("COUNTDOWN").innerHTML = COUNTDOWNTEXT_TAG + |
|
COUNTDOWNTEXT_STUNDE + COUNTDOWNTEXT_MINUTE + COUNTDOWNTEXT_SEKUNDE; |
|
REST -= 1; |
|
if(REST==0) |
|
clearInterval(COUNTDOWN); |
|
[...] //-- |
|
Danke |
#3
| ||||||||||||||
| ||||||||||||||
|
|
ich habe hier ein Script das mir die Sekunden zurückzählt, allerdings ist irgendwann die Variable "REST" bei 0, und der Counter bleibt stehen.. ;-) |
|
Problem ist eigentlich erkannt, nur wie sol ich das Problem beheben? |
|
if(REST==0) clearInterval(COUNTDOWN); },1000); |
|
if(REST < 0) clearInterval(COUNTDOWN); },1000); |
|
script language="Javascript" |
|
!-- |
|
var REST = 100000; |
|
var COUNTDOWNTEXT_TAG = ""; var COUNTDOWNTEXT_STUNDE = ""; var COUNTDOWNTEXT_MINUTE = ""; var COUNTDOWNTEXT_SEKUNDE = ""; var COUNTDOWN = setInterval(function(){ if(REST >= 86400) { var TAGE = Math.floor(REST / 86400); REST = REST - (TAGE * 86400); if(TAGE > 1 || TAGE == 0) |
|
{ COUNTDOWNTEXT_TAG = TAGE + " Tage "; } else if(Jahre == 1) |
|
{ COUNTDOWNTEXT_TAG = TAGE + " Tag "; } } if(REST >= 3600) { var STUNDEN = Math.floor(REST / 3600); REST = REST - (STUNDEN * 3600); if(STUNDEN > 1 || STUNDEN == 0) { COUNTDOWNTEXT_STUNDE = STUNDEN + " Stunden "; } else if(Jahre == 1) |
|
{ COUNTDOWNTEXT_STUNDE = STUNDEN + " Stunde "; } } if(REST >= 60) { var MINUTEN = Math.floor(REST / 60); REST = REST - (MINUTEN * 60); if(MINUTEN > 1 || MINUTEN == 0) { COUNTDOWNTEXT_MINUTE = MINUTEN + " Minuten "; } else if(Jahre == 1) |
|
{ COUNTDOWNTEXT_MINUTE = MINUTEN + " Minuten "; } } if(REST > 1 || REST == 0) { COUNTDOWNTEXT_SEKUNDE = REST + " Sekunden "; } else if(REST==1) { COUNTDOWNTEXT_SEKUNDE = REST + " Sekunde "; } document.getElementById("COUNTDOWN").innerHTML = COUNTDOWNTEXT_TAG + COUNTDOWNTEXT_STUNDE + COUNTDOWNTEXT_MINUTE + COUNTDOWNTEXT_SEKUNDE; |
|
REST -= 1; if(REST==0) clearInterval(COUNTDOWN); },1000); //-- |
|
/script |
#4
| ||||||||
| ||||||||
|
|
Stephan schrieb: ich habe hier ein Script das mir die Sekunden zurückzählt, allerdings ist irgendwann die Variable "REST" bei 0, und der Counter bleibt stehen.. ;-) Hier fehlt noch die Information, dass die Anzeige bei "1 Sekunde" stehen bleibt. Sonst wäre ja alles wie gewünscht. |
|
Problem ist eigentlich erkannt, nur wie sol ich das Problem beheben? |
|
Indem Du if(REST==0) clearInterval(COUNTDOWN); },1000); ersetzt durch if(REST < 0) clearInterval(COUNTDOWN); },1000); |
|
script language="Javascript" Ersetze das durch <script type="text/css" ^^^ |
|
!-- Lass den Kommentar weg. Er war nötig in Netscape 2, damit Browser, die das Script-Tag nicht kennen, das Skript nicht als Text darstellen. |
|
document.getElementById("COUNTDOWN").innerHTML = COUNTDOWNTEXT_TAG + COUNTDOWNTEXT_STUNDE + COUNTDOWNTEXT_MINUTE + COUNTDOWNTEXT_SEKUNDE; Wenn das Laden Deiner Seite länger als eine Sekunde von hieran dauert, kommt es hier zu einem Fehler, wenn das Element mit der ID COUNTDOWN noch nicht existiert. |
|
Eine Lösung wäre, die anonyme Funktion aus dem setInterval herauszuholen var displayRemainingTime = function () { // ... }; und dann über body onload="var COUNTDOWN = window.setInterval(displayRemainingTime, 1000);" zu starten. |
|
[...] //-- Ende des Kommentars natürlich auch entfernen |
#5
| |||
| |||
|
|
Problem ist eigentlich erkannt, nur wie sol ich das Problem beheben? Indem Du if(REST==0) clearInterval(COUNTDOWN); },1000); ersetzt durch if(REST < 0) clearInterval(COUNTDOWN); },1000); Soviel zur Beantwortung Deiner Frage. Jetzt kommen noch ein paar Anmerkungen zum Code-Stil: |
#6
| |||
| |||
|
|
if(TAGE > 1 || TAGE == 0) { COUNTDOWNTEXT_TAG = TAGE + " Tage "; } else if(Jahre == 1) ********************** warum Jahre ????????? { COUNTDOWNTEXT_TAG = TAGE + " Tag "; } } |
|
COUNTDOWNTEXT_STUNDE = STUNDEN + " Stunden "; } else if(Jahre == 1) ********************** Jahre ????????? { COUNTDOWNTEXT_STUNDE = STUNDEN + " Stunde "; } } |
|
COUNTDOWNTEXT_MINUTE = MINUTEN + " Minuten "; } else if(Jahre == 1) ********************** Jahre ????????? |
![]() |
| Thread Tools | |
| Display Modes | |
| |