javascript countdown tellertje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jacco Laan

jacco Laan

18/08/2009 15:39:00
Quote Anchor link
Een goeie dag,
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// tijd wordt vergeleken met "NU" en verschil wordt berekend
    $tijdverschil1        = $werken->werken-time() - 1800;
    $tijdverschil        = date("i:s", "$tijdverschil1");
    if($werken->werken + $werken->werken1 > time()){
    // Als verschil groter is dan 0 onderste tekst weergeven
?>


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.
 
PHP hulp

PHP hulp

16/11/2024 04:57:46
 
- SanThe -

- SanThe -

18/08/2009 16:08:00
 
Jacco Laan

jacco Laan

18/08/2009 16:29:00
Quote Anchor link
Ziet er goed uit heb het volgende nu staan:

<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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.