11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)
  • Q:

    Bijdrager
    Floriaan

    Counter in Java

    Goede avond,

    Ik ben een online enquête aan het maken. Eén van de vragen is om juist de tijd in te schatten. hiervoor had ik het idee om de persoon op een knop te laten duwen, waarna hij in gedachte tot bv. 15 seconden moet tellen en daarna op een knop stop duwen.
    Ondertussen moet een scriptje de seconden tellen (welliswaar onzichtbaar voor de persoon die teld) en wanneer er op stop geduwd word, de exacte tijd weergeven. Deze kan dan doorgestuurd worden naar de server.
    Ik heb absoluut geen voorkennis van java script. Wel van html.
    Is dit simpel te doen? Kan iemand mij op weg helpen?

    Alvast veel dank!

    Floriaan


    Bijdrager
    Brainiac

    Java is geen JavaScript hoor. :|

    Van JS heb ‘k niet echt veel kaas gegeten ondanks dat het zo dicht bijeen ligt.. en Java zelf daar ben ‘k nog maar een klein half jaar met bezig. Dus veel verder kan ‘k je niet helpen. Kijk hier anders eens op.


    Bijdrager
    Floriaan

    ik wist dat er iets was tussen java, en java script. Heb dus het verkeerde gebruikt
    Ga eens kijken…


    Bijdrager
    iJoost

    Als je een tijd wilt meten, dan hoef je daar in JavaScript geen teller voor te gebruiken. Pak gewoon op het start- en stoptijdstip de huidige tijd

    [code:1:b67b3a426d]var start=new Date();[/code:1:b67b3a426d]

    [code:1:b67b3a426d]var stop=new Date();[/code:1:b67b3a426d]

    En gebruik die twee Date objecten daarna om het tijdsverschil in milliseconden te bepalen

    [code:1:b67b3a426d]var duur=stop.getTime()-start.getTime();[/code:1:b67b3a426d]


    Bijdrager
    Floriaan

    Moet ik een startknop maken: [code:1:0614d5fe22]INPUT TYPE="button" NAME="druk" VALUE="Start" onClick="var start=new Date();"[/code:1:0614d5fe22]
    en een stopknop:[code:1:0614d5fe22]<INPUT TYPE="button" NAME="druk" VALUE="Stop" onClick="var stop=new Date();">
    [/code:1:0614d5fe22]
    ?

    Hoe laat ik deze tijd dan weergeven?

    Floriaan


    Bijdrager
    iJoost

    Je kunt ‘m via de DOM (dus document.getElementById(‘fubar’).value=duur;) ergens in een reeds aanwezige control in de HTML zetten. Of ander in een div of span (met zelfde manier maar dan met innerHTML in plaats van value). Of je zou ‘m kunnen laten zien in een popup (dus bijvoorbeeld met alert(‘duur=’+duur);). Of… eigenlijk zijn er heel veel mogelijkheden om er iets mee te doen. Wat je maar wilt…

    (Misschien anders toch eerst maar even wat JavaScript leren? Want op weg helpen vind ik best maar ik ga het niet voor je doen.;-)


    Bijdrager
    Floriaan

    Ja, ik ben via tutorials de basis aan het leren. Maar vaak kom ik er niet volledig uit. Weet jij een goede (nederlandstalige) online ‘handleiding’?


    Bijdrager
    iJoost

    Bijdrager
    Floriaan

    Ik heb op internet een soort timer gevonden en deze code aangepast naar wat ik wil doen
    [code:1:281de02c7e]var ms = 0;
    var state = 0;

    function startstop() {
    if (state == 0) {
    state = 1;
    then = new Date();
    then.setTime(then.getTime() – ms);
    } else {
    state = 0;
    now = new Date();
    ms = now.getTime() – then.getTime();
    document.enquete.test.value = ms;
    }
    }

    function display() {
    setTimeout("display();", 50);
    if (state == 1) {now = new Date();
    ms = now.getTime() – then.getTime();
    document.enquete.test.value = ms;
    }
    }[/code:1:281de02c7e]

    Nu wil ik op die zelfde pagina een tweede timer die begint vanaf dat de pagina geladen is en stopt als er op de verzend knop geklikt word. Dit kopelen lukt wel, maar de de 2 timers lopen door elkaar.
    Weet jij of ik dit op een andere manier moet doen?


    Bijdrager
    iJoost

    Het fragmentje wat je hebt gevonden gebruikt precies de objecten en methods die ik ook al noemde. Ik denk dat je het misschien even zelf moet proberen te programmeren op basis van wat ik zei zonder de troep eromheen die je meekrijgt door het te kopieren. Dan heb je er vast geen last van dat de twee metingen elkaar in de weg zitten…;-)


    Bijdrager
    Floriaan

    Is dit de ‘juiste’ manier op 2 verschillende aan elkaar te koppelen?
    [code:1:445ec2bbf2]var ms = 0;
    var state = 0;

    function startstop() {
    if (state == 0) {
    state = 1;
    then = new Date();
    then.setTime(then.getTime() – ms);
    } else {
    state = 0;
    now = new Date();
    ms = now.getTime() – then.getTime();
    document.stpw.time.value = ms;
    }
    }

    function display() {
    setTimeout("display();", 50);
    if (state == 1) {now = new Date();
    ms = now.getTime() – then.getTime();
    document.stpw.time.value = ms;
    }
    }

    window.onload=display

    var ms = 0;
    var state = 0;

    function startstop1() {
    if (state == 0) {
    state = 1;
    then = new Date();
    then.setTime(then.getTime() – ms);
    } else {
    state = 0;
    now = new Date();
    ms = now.getTime() – then.getTime();
    document.stpw.time.value = ms;
    }
    }

    function display() {
    setTimeout("display();", 50);
    if (state == 1) {now = new Date();
    ms = now.getTime() – then.getTime();
    document.stpw.time1.value = ms;
    }
    }

    window.onload=display[/code:1:445ec2bbf2]
    [code:1:445ec2bbf2]<INPUT TYPE="text" Name="time">
    <INPUT TYPE="BUTTON" Name="ssbutton" VALUE="Start/Stop" onClick="startstop()">
    <INPUT TYPE="BUTTON" NAME="reset" VALUE="Reset" onClick="swreset()">

    <INPUT TYPE="text" Name="time1">
    <INPUT TYPE="BUTTON" Name="ssbutton" VALUE="Start/Stop" onClick="startstop1()">
    <INPUT TYPE="BUTTON" NAME="reset" VALUE="Reset" onClick="swreset1()">
    [/code:1:445ec2bbf2]

11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.