Avatar billede sp Nybegynder
10. oktober 2001 - 21:33 Der er 10 kommentarer og
1 løsning

16 hvert minut fra bestemt tid til denne tid

Hejsa Javascript -eksperter.

Jeg skal bruge et javascript som indeholder en timer.
Scriptet skal tage et bestemt tidspunkt (f.eks. 1.1.2001 0:00:00 og gå som et ur. Den skal så kunne fortælle hvor langt tid der er gået siden datoen og tiden ligenu. Den skal så lægge 16 til hvert minut.

Måske en noget kompliceret opgave, men jeg håber på at nogle kan klare den...

mvh
Søren Peter Fynboe
Avatar billede jakoba Nybegynder
10. oktober 2001 - 21:47 #1
lidt script i head:

<script language=\'javascript\'>

var fraTid = new Date( 2001, 0, 1, 0, 0, 0 );
                    // ( aar, måned, dag, time, minut, sekund )
                    //nb: måneder nummereres fra 0 til 11 (januar til december)

function findTid( ) {
    var nuTid = new Date();
    var diff = nuTid.valueOf() -fraTid.valueOf();
    var diff16m = ( diff*16 ) / ( 60*1000 );
    // diff16m er nu det tal du vil have.
    return diff16m;
}; //end findTid( ) -> number

</script>

nede i dit dokument kan du nu skrive:

<p>Der er nu gået <script>document.write( findTid() )</script> sekstendelele minutter siden den 1ste januar 2001.</p>

Hvad i himlens navn vil du med det?

mvh JakobA
Avatar billede jakoba Nybegynder
10. oktober 2001 - 21:49 #2
Hvis du ikke vil have cifre efter kommaet kan du udskifte linien
    return diff16m;
med
    return Math.round( diff16m );
Avatar billede sp Nybegynder
10. oktober 2001 - 21:57 #3
Der skal lægges 16 til hvert minut
Avatar billede jakoba Nybegynder
10. oktober 2001 - 21:59 #4
Den tæller 16 for hvert minut der er gået siden det opgivne tidspunkt.
Hvis det er noget andet du mener må du forklare lidt mere.
Avatar billede sp Nybegynder
10. oktober 2001 - 22:01 #5
Den skal tælle hele tiden
Avatar billede sp Nybegynder
10. oktober 2001 - 22:05 #6
Er punktummet et komma på dansk altså decimaler?
Den skal kun tage hele tal.
Kan talet splittes op så den kun viser tallet uden decimaler.
Avatar billede jakoba Nybegynder
10. oktober 2001 - 22:10 #7
Nåe, nu forstår jeg.

lidt ændret script i head:

<script language=\'javascript\'>

var fraTid = new Date( 2001, 0, 1, 0, 0, 0 );
                    // ( aar, måned, dag, time, minut, sekund )
                    //nb: måneder nummereres fra 0 til 11 (januar til december)

function findTid( ) {
    var nuTid = new Date();
    var diff = nuTid.valueOf() -fraTid.valueOf();
    var diff16m = ( diff*16 ) / ( 60*1000 );
    // diff16m er nu det tal du vil have.
    return diff16m;
}; //end findTid( ) -> number

function opdaterUr( ) {
    document.urform.urfelt.value = findTid();
}; //end opdaterUr( )

</script>

I din <body kommando starter du uret med en onload handeler:

<body ...  onload=\"setInterval(\'opdaterUr()\',1000)\">

og laver et lille felt til den at vise tiden i:

<form name=\'urform\'>
<input name=\'urfelt\' type=\'text\' onfocus=\"this.blur()\">
</form>

mvh JakobA
Avatar billede sp Nybegynder
10. oktober 2001 - 22:13 #8
Så skal alle decimaler væk.
Avatar billede jakoba Nybegynder
10. oktober 2001 - 22:14 #9
  Hvis du ikke vil have cifre efter kommaet kan du udskifte linien
    return diff16m;
med
    return Math.round( diff16m );
Avatar billede sp Nybegynder
10. oktober 2001 - 22:16 #10
Du skal have mange tak.

Avatar billede sp Nybegynder
03. november 2001 - 16:01 #11
Der er et problem.

Javascriptet skal placeres i body, for at virke i ældre IE versioner uden at der kommer en fejlmeldning...

Men indtil videre ser det ud til at jeg sagtens kan placere det der. Det ser ud til at virke i flere browsere.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester