Hoi allemaal,

dmv jquery wil ik een timer maken die laat zien hoeveel tijd er verstreken is sinds een bepaald moment. Het gaat om de tijd in uren en minuten. Er zijn meer dan voldoende timer plugins voor jquery maar ik kan niet echt duidelijk een vinden die doet wat ik wil. De meeste tellen af naar een bepaald punt.

Welke jquery plugin raden jullie aan voor dit doel?
Ik zou dit eerst vanuit een functioneel perspectief bekijken. Hoeveel tijd er verstreken is hangt af van:
- het moment waarop je tijd gaat meten
- het huidige moment

Voor het eerste zul je dus ergens een (start)tijd moeten opslaan (cookie? sessie van serverside taal? iets anders?), daarna kun je het verschil telkens opnieuw berekenen.

Mogelijk vind je iets als je zoekt op "jquery stopwatch"?
De starttijd in een db opgeslagen. Dus daar heb ik zeker al aan gedacht.

Ik zal inderdaad eens googlen op jquery stopwatch. Had tot nu toe gegoogled op jquery show elapsed time. Maar daar kwam ik dus niet echt verder mee
Je kunt het probleem in drie delen hakken.

a) het berekenen van het verschil tussen 'nu' en de tijd die opgeslagen is in de database
b) Het weergeven van de uren en minuten (Hoe wil ik dit laten zien op mijn pagina)
c) met een interval zorgen dat je de klok gaat lopen

bij punt a en c heb je zeker GEEN jQuery nodig maar gewoon plain Javascript. Bij punt b zou je mogelijk wel jQuery kunnen gebruiken maar je kunt ook gewoon javascript gebruiken.

Tip:
Als je een timestamp wil creëren in javascript welke uit je database komt dan moet je er rekening mee houden dat een timestamp in PHP in seconden wordt bijgehouden maar in javascript in milliseconden. Je zou een dirty trick kunnen uithalen op deze manier:


<?php

$date = new DateTime('01-01-2019 00:00:00');
$timestamp = $date->getTimestamp() * 1000; // naar milliseconden

?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Mijn pagina</title>
    </head>
    <body>
        <script>
            var date = new Date(<?php echo $timestamp; ?>);
            alert(date.toDateString());
        </script>
   </body>
</html>


Met de timestamp in milliseconden creëer ik een Date object in javascript. Dit object heeft een scala aan handige functies
Mogelijk gevaar: meten met twee maten: de klok op je PC (JavaScript) en de servertijd (PHP). Deze twee wil je waarschijnlijk niet combineren.

Reageren