HTML gevorderde |
|
@djb: Zo gaat ie telkens de pagina vernieuwd wordt, opnieuw beginnen aftellen, en dat is volgens mij niet de bedoeling.
Edit: Het gaat wel werken als eerst het verschil wordt berekend tussen de huidige tijd en de tijd dat de teller moet stoppen met tellen.
Edit: heb het even afgemaakt en het volgende zou moeten werken.
Wel even $eindtijd aanpassen aan de variabele uit de database.
<html>
<head>
<title>Teller</title>
<?
$tijd = time(); // Huidige tijd (in timestamp)
$eindtijd = 1225051860; // Eindtijd uit de database ( in timestamp)
$tijdverschil = $eindtijd - $tijd; // Tijdverschil
if($tijdverschil > 0){
?>
<script type="text/javascript">
var begin_seconden = <? echo $tijdverschil ?>; // Aantal seconden
var aantal_seconden = 0; // zo laten :)
var animatie_punt = 1; // dubbele punt knipperen. 0 = uit, 1 aan.
function aftellen() {
aantal_seconden++;
if (aantal_seconden!=begin_seconden) {
var aantal_seconden_nog = begin_seconden-aantal_seconden;
var uur = Math.floor(aantal_seconden_nog/3600);
var minuut = Math.floor((aantal_seconden_nog-(3600*uur))/60);
var seconden = Math.floor((aantal_seconden_nog-(3600*uur)-(60*minuut)));
if (uur<=9) {
uur = '0'+uur;
}
if (minuut<=9) {
minuut = '0'+minuut;
}
if (seconden<=9) {
seconden = '0'+seconden;
}
if (animatie_punt==0) {
var dubbele_punt = ':';
} else {
if (animatie_punt==1) {
var dubbele_punt = ':';
animatie_punt = 2;
} else {
var dubbele_punt = ' ';
animatie_punt = 1;
}
}
document.tijd.tijd_input.value = uur+dubbele_punt+minuut+dubbele_punt+seconden;
} else {
window.top.location.href = window.top.location.href;
}
}
window.setInterval('aftellen();',1000);
</script>
<?
}
?>
</head>
<body>
<?
if($tijdverschil > 0){
?>
<form name="tijd">
<input type="text" name="tijd_input">
</form>
<?
}else{
?>
De inhoud van je pagina als er geen teller is.
<?
}
?>
</body>
</html>
<html> <head> <title>Teller</title> <? $tijd = time(); // Huidige tijd (in timestamp) $eindtijd = 1225051860; // Eindtijd uit de database ( in timestamp) $tijdverschil = $eindtijd - $tijd; // Tijdverschil if($tijdverschil > 0){ ?> <script type="text/javascript"> var begin_seconden = <? echo $tijdverschil ?>; // Aantal seconden var aantal_seconden = 0; // zo laten :) var animatie_punt = 1; // dubbele punt knipperen. 0 = uit, 1 aan. function aftellen() { aantal_seconden++; if (aantal_seconden!=begin_seconden) { var aantal_seconden_nog = begin_seconden-aantal_seconden; var uur = Math.floor(aantal_seconden_nog/3600); var minuut = Math.floor((aantal_seconden_nog-(3600*uur))/60); var seconden = Math.floor((aantal_seconden_nog-(3600*uur)-(60*minuut))); if (uur<=9) { uur = '0'+uur; } if (minuut<=9) { minuut = '0'+minuut; } if (seconden<=9) { seconden = '0'+seconden; } if (animatie_punt==0) { var dubbele_punt = ':'; } else { if (animatie_punt==1) { var dubbele_punt = ':'; animatie_punt = 2; } else { var dubbele_punt = ' '; animatie_punt = 1; } } document.tijd.tijd_input.value = uur+dubbele_punt+minuut+dubbele_punt+seconden; } else { window.top.location.href = window.top.location.href; } } window.setInterval('aftellen();',1000); </script> <? } ?> </head> <body> <? if($tijdverschil > 0){ ?> <form name="tijd"> <input type="text" name="tijd_input"> </form> <? }else{ ?> De inhoud van je pagina als er geen teller is. <? } ?> </body> </html>
|