19. oktober 2003 - 13:16
Der er
9 kommentarer og 1 løsning
counter skal stoppe ved nul og hente en side
Hej. Jeg bruger en counter der tæller ned til en bestemt dato: <script> function countdown() { ThisDate=new Date(); targetyear=2003; targetmonth=10; targetdate=20; targethour=15; targetminute=0; targetsecond=0; SecondsLeft=targetsecond-ThisDate.getSeconds(); t=0;if (SecondsLeft<0) {t=1; SecondsLeft=60+SecondsLeft;} MinutesLeft=targetminute-ThisDate.getMinutes()-t; t=0;if (MinutesLeft<0) {t=1; MinutesLeft=60+MinutesLeft;} HoursLeft=targethour-ThisDate.getHours()-t; t=0;if (HoursLeft<0) {t=1; HoursLeft=60+HoursLeft;} DaysLeft=targetdate-ThisDate.getDate()-t; t=0;if (DaysLeft<0) {t=1; DaysLeft=60+DaysLeft;} MonthsLeft=targetmonth-ThisDate.getMonth()-t-1; t=0;if (MonthsLeft<0) {t=1; MonthsLeft=60+MonthsLeft;} YearsLeft=targetyear-ThisDate.getYear()-t; //document.forms.countdownform.T1.value=YearsLeft; //document.forms.countdownform.T2.value=MonthsLeft; //document.forms.countdownform.T3.value=DaysLeft; document.forms.countdownform.tid.value='Dage: ' + DaysLeft + ', Timer: ' + HoursLeft +', Min.: ' +MinutesLeft+ ', Sek.: ' + SecondsLeft ; //document.forms.countdownform.T5.value=MinutesLeft; //document.forms.countdownform.T6.value=SecondsLeft; CountDownId=setTimeout("countdown()",1000); } </script> Nedtællingen udskrives i form på siden. Er der nogen der ved hvordan jeg får counteren til at stoppe ved nul istedet for at tælle videre med "-"foran tallene?? .....Samtidig vil jeg gerne have counteren til at hente en anden side når den når til nul??? Nogen derved hvordan? Eller om det overhovedet er muligt?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
19. oktober 2003 - 13:47
#1
<html> <head> <script> function countdown() { if (document.forms.countdownform.tid.value=='Dage: 0, Timer: 0, Min.: 0, Sek.: 0') { alert("nu!"); } else { ThisDate=new Date(); targetyear=2003; targetmonth=10; targetdate=19; targethour=13; targetminute=47; targetsecond=0; SecondsLeft=targetsecond-ThisDate.getSeconds(); t=0;if (SecondsLeft<0) {t=1; SecondsLeft=60+SecondsLeft;} MinutesLeft=targetminute-ThisDate.getMinutes()-t; t=0;if (MinutesLeft<0) {t=1; MinutesLeft=60+MinutesLeft;} HoursLeft=targethour-ThisDate.getHours()-t; t=0;if (HoursLeft<0) {t=1; HoursLeft=60+HoursLeft;} DaysLeft=targetdate-ThisDate.getDate()-t; t=0;if (DaysLeft<0) {t=1; DaysLeft=60+DaysLeft;} MonthsLeft=targetmonth-ThisDate.getMonth()-t-1; t=0;if (MonthsLeft<0) {t=1; MonthsLeft=60+MonthsLeft;} YearsLeft=targetyear-ThisDate.getYear()-t; //document.forms.countdownform.T1.value=YearsLeft; //document.forms.countdownform.T2.value=MonthsLeft; //document.forms.countdownform.T3.value=DaysLeft; document.forms.countdownform.tid.value='Dage: ' + DaysLeft + ', Timer: ' + HoursLeft +', Min.: ' +MinutesLeft+ ', Sek.: ' + SecondsLeft ; //document.forms.countdownform.T5.value=MinutesLeft; //document.forms.countdownform.T6.value=SecondsLeft; CountDownId=setTimeout("countdown()",1000); } } </script> </head> <body onLoad='countdown()'> <form name='countdownform'> <input name='tid' style='width:100%'> </form> </body> </html>
19. oktober 2003 - 13:47
#2
så skal alert(); selvfølgelig bar udskiftes med hvad du nu engang vil ha
19. oktober 2003 - 13:52
#3
stopper counteren så ved nul uden at tælle videre?
19. oktober 2003 - 13:54
#4
yep
19. oktober 2003 - 13:54
#5
.. prøv det selv, husk selvfølgelig at tilpasse tiden den skal tælle ned til sådan du ikke skal sidde og vente et par dage før resultatet kommer! ;)
19. oktober 2003 - 13:57
#6
skide godt. tak! og værs'go!
19. oktober 2003 - 13:59
#7
det var så lidt :)
19. oktober 2003 - 14:00
#8
Kan man ikke få den til at tælle ud fra severens tid istedet for klientens??
19. oktober 2003 - 14:02
#9
nej det tror jeg ikke... javascript er et clientsprog, men nu kommer en af javascript-hajerne sikkert og retter mig lige om lidt ;)
20. oktober 2003 - 00:20
#10
Hvis du skal bruge serverens tid, må du sende den som en del af koden !-) -- elskermad.dk har jo helt ret i, at javascript i denne situation kun afvikles clientside (og det ville være tåbeligt at afvikle den slags serverside og sende en ny side fra en asp-server hvert sekund ,-)
Vi tilbyder markedets bedste kurser inden for webudvikling