Een timer maken...

Status
Niet open voor verdere reacties.

guest945836

Gebruiker
Lid geworden
6 jul 2008
Berichten
286
Hoi allemaal,
ik wil graag een timer maken in java script. Maar ik weet nog niet hoe. Ik wil dat je zelf de tijd instelt. bijv. 1 min. Dan moet je hem zelf kunnen starten en de tijd omlaag kunnen zien gaan. als de tijd dan bijv. op 30 sec. staat moet je hem op pauze kunnen zetten. Ff later moet hij verder kunnen gaan en als hij op nul staat moet je doorgelinkt worden naar een pagina. Weet iemand of dit mogelijk is in java?
gr. Kayle
 
Om nog even te reageren op je laatste post in het andere topic, timestamps zijn niets anders dat een integer die aangeeft hoeveel seconden er zijn verstreken sinds 1 januari 1970 (als ik met niet vergis). Die hebben verder geen functies en dergelijke.
 
Om nog even te reageren op je laatste post in het andere topic, timestamps zijn niets anders dat een integer die aangeeft hoeveel seconden er zijn verstreken sinds 1 januari 1970 (als ik met niet vergis). Die hebben verder geen functies en dergelijke.

Volgens mij gaan dit soort dingen op milisecondes na 1-1-1970 en dat is in ieder geval in java een long, aangezien een Integer een te beperkt bereik heeft
 
Laatst bewerkt:
Om nog even te reageren op je laatste post in het andere topic, timestamps zijn niets anders dat een integer die aangeeft hoeveel seconden er zijn verstreken sinds 1 januari 1970 (als ik met niet vergis). Die hebben verder geen functies en dergelijke.

Volgens mij wel, daar had ik eens iets over gelezen. zoals de tijd laten veranderen enz.
 
HTML:
<html>
<head>
<script type="text/javascript">
var int;
var seconds = 9; // Hoeveel seconden moeten er worden afgeteld?
var hours, mins, secs;

function countdown(){
  seconds--;
  hours = Math.floor(seconds/3600);
  mins = Math.floor((seconds%3600)/60);
  secs = Math.floor((seconds%60));
  mins = (mins < 10) ? '0' + mins : mins;
  secs = (secs < 10) ? '0' + secs : secs;
  document.getElementById('displaytime').innerHTML = hours + ':' + mins + ':' + secs;
  if(seconds == 0){
    clearInterval(int);
  }
}

function stop(){
  clearInterval(int);
}

function start(){
  int = setInterval('countdown()', 1000);
}

window.onload = start;

</script>
</head>
<body>
<div id="displaytime"></div>
<button onclick="stop()">Pauze</button>
<button onclick="start()">Start</button>
</body>
</html>

Is dit ongeveer wat je zoekt? Heb het net in elkaar gedraait en ik geloof dat het werkt, maar ben er niet helemaal zeker van ;)

EDIT: let niet op de syntax-highlighting, volgens mij zit die een beetje in de knup :o
 
Laatst bewerkt:
Quote: ErikBooy007

Je script werkt heel goed. Ik heb tussen if(seconds == 0){ en } dit gezet:

setTimeout('parent.window.location.href=\"http://www.test.nl\"',0)

om ervoor te zorgen dat hij op het eind, als hij op 0 staat ook naar een pagina gaat. Maar nu heb ik nog een vraag. Kun je hier nu ook mee zorgen dat als je op een link klikt in de url krijgt:
test.php?time=de_tijd_waar_de_teller_op_staat

gr. Kayle
 
Als je met PHP werkt, kun dit je heel makkelijk doen:

PHP:
var seconds = <?php echo $_GET[ 'time' ]; ?>; // Hoeveel seconden moeten er worden afgeteld?

Houd er echter wel rekening mee, dat mensen heel eenvoudig iets anders daarneer kunnen zetten en op die manier je 'beveiliging' omzeilen.
 
Ja, ik werk met php,
maar eigenlijk niet met java. daarom snap ik wat hierboven staat. Maar ik bedoel eigenlijk te zeggen dat je een link maakt met javascript die in een _GET de lopende tijd meegeeft. dus als hij op 4 sec. staat en dat je dan op een knop drukt dat hij automatisch naar:

test.php?time=4

Dit komt er in php te staan: (nog niet beveiligd)

PHP:
<?php
if($_GET['tijd'] == ''){
?>
hier komt het script van de timer te staan.
<?php
}
else
{
$tijd = $_GET['tijd']
echo 'je drukte op de knop toen de tijd '.$tijd.' was.';
}
?>
 
Ooh oké,

dan zou je dit kunnen doen:

HTML:
<button onclick="followlink()">Klik op deze button</button>

En dan zet je bij het javascript deze functie erbij:

HTML:
function followlink(){
  window.location.href = 'test.php?time=' + seconds;
}
 
dankjewel, hier heb ik veel aan. :D ik denk dat ik me nu ook een cursus javascript ga leren om dit soort dingen goed te kunnen maken.
gr. Kayle
 
Laatst bewerkt:
Als je PHP al aardig kent, is JavaScript een fluitje van een cent (dicht-skills).

Qua syntax komt het in ieder geval sterk overeen.

Succes ermee!
 
Oke, voor alle duidelijkheid nog dit voor de mensen die het hele script willen zien:
PHP:
<html>
<head>
<?php
if($_GET['time'] == ''){
?>
<script type="text/javascript">
// Met dank aan ErikBooy007 van Helpmij.nl //
var int;
var seconds = 125; // Hoeveel seconden moeten er worden afgeteld?
var hours, mins, secs, rhours, rmins, rsecs;
 
function countdown(){
  seconds--;
  hours = Math.floor(seconds/3600);
  mins = Math.floor((seconds%3600)/60);
  secs = Math.floor((seconds%60));
  mins = (mins < 10) ? '0' + mins : mins;
  secs = (secs < 10) ? '0' + secs : secs;
  document.getElementById('displaytime').innerHTML = hours + ':' + mins + ':' + secs;
  if(seconds == 0){
document.write("Hij staat nu op nul");
setTimeout('parent.window.location.href=\"http://www.google.nl.nl\"',30)
    clearInterval(int);
	
  }
}
 
function stop(){
  clearInterval(int);
}
 
function start(){
  int = setInterval('countdown()', 1000);
}
function followlink(){
  window.location.href = 'test.php?time=' + hours + ':' + mins + ':' + secs + '&hours=' + hours + '&mins=' + mins + '&secs=' + secs;
}
 
window.onload = start;
 
</script>
</head>
<body>
<div id="displaytime"></div>
<button onClick="stop()">Pauze</button>
<button onClick="start()">Start</button>
<button onclick="followlink()">Stop ermee</button>
<?php
}
else
{
$time = $_GET['time'];
$hours = $_GET['hours'];
$mins = $_GET['mins'];
$secs = $_GET['secs'];

$rtime = $_GET['rtime'];
$rhours = $_GET['rhours'];
$rmins = $_GET['rmins'];
$rsecs = $_GET['rsecs'];
echo 'je stopte toen de tijd '.$time.' was. <br />';
echo 'Je kunt ook zeggen dat je '.$hours.' uur over had, je had nog '.$mins.' minuten en '.$secs.' seconden over. <br />';
echo 'Wil je het opnieuw doen? <a href="test.php" >Klik dan hier</a>';
}
?>
</body>
</html>
 
Ik heb JavaScript via internet geleerd. Ik heb hier wel een boek staan, maar dat heb ik misschien 2 keer open gehad...

Internet vind ik prettiger om te leren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan