javascript countdown tellertje
Ik zit met een klein probleempje waarop ik vast loop.
Ik heb een pagina waarop een "wachttijd" verbonden zit.
Dit werkt perfect tijd wordt ook netjes weer gegeven op het scherm.
Alleen zou ik graag willen dat mn stukje Javascript deze tijd netjes terug
laat lopen naar 0 en indien mogelijk de desbetreffende pagina opnieuw laad.
Hieronder zet ik even mn stukje php code neer dat de wachttijd genereerd.
Afgezien de eventuele slordigheid werkt het overigens wel zoals ik had verwacht:
Code (php)
Als ik vervolgens $tijdverschil laat echoën krijg ik netjes de tijd in mn scherm.
Mn Javascriptje hieronder zou de variabel van hier boven moeten verwerken maar op de 1 of andere manier wil dat niet goed lukken.
<script type="text/javascript">
(function () {
var tijdverschil = 1800,
eindTijd = (new Date() / 1000) + tijdverschil;
setTimeout(function timer() {
var diff = (eindTijd - (new Date() / 1000)),
hours, minutes, seconds;
if (diff === 0) {
location.reload();
} else {
hours = Math.floor(diff / 3600),
minutes = Math.floor((diff % 3600) / 60),
seconds = Math.floor(diff % 60);
document.getElementById('tijd-teller').value =
((hours > 0 ? hours + ':' : '') + minutes + ':' + seconds).replace(
/^(\d):/,
'0$1:'
).replace(
/:(\d)(?=$|:)/g,
':0$1'
);
setTimeout(timer, 400);
}
}, 400);
}());
</script>
Hieronder staat mn stukje HTML waar de tijd weergegeven moet worden:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td class="subTitle">Stukje tekst hier<br /></td></tr>
<tr><td>
<input type="text" id="tijd-teller" name="tijd-teller" style="text-align: center;"> </td></tr>
</form>
</table>
Er zal ongetwijfeld iets fout staan maar ik heb geen idee wat....
Javascript is compleet nieuw voor mij.
<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
<!--
NewTime = new Date();
$tijdverschil=time();
$uur=strval($_POST['uur']);
if($uur<=0) { $uur=date("H", $tijdverschil); };
$minuut=strval($_POST['minuut']);
if($minuut<=0) { $minuut=date("i", $tijdverschil); };
$seconde=strval($_POST['seconde']);
if($seconde<=0) { $seconde=date("s", $tijdverschil); };
NewTime.setHours(NewTime.getHours() - print(date('H')." + ".$uur.")\n");
NewTime.setMinutes(NewTime.getMinutes() - print(date('i')." + ".$minuut.")\n");
NewTime.setSeconds(NewTime.getSeconds() - print(date('s')." + ".$seconde.")\n");
NewHours = NewTime.getHours();
NewMinutes = NewTime.getMinutes();
NewSeconds = NewTime.getSeconds();
function showFilled(Value) {
return (Value > 9) ? "" + Value : "0" + Value;
};
function StartClock24() {
TheTime = new Date();
TheTime.setHours(NewHours - TheTime.getHours());
TheTime.setMinutes(NewMinutes - TheTime.getMinutes());
TheTime.setSeconds(NewSeconds - TheTime.getSeconds());
document.clock.showTime.value = showFilled(TheTime.getHours())
+ ":" + showFilled(TheTime.getMinutes()) + ":" + showFilled(TheTime.getSeconds());
setTimeout("StartClock24()",1000);
};
//-->
</script>
En de rest van het scriptje dat er bij hoort maar ik krijg de volgende
foutmelding:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Lijn 25 is bij mij waar de eerste variabel $uur staat in het scriptje