Avatar billede expnet Seniormester
25. december 2010 - 15:53 Der er 4 kommentarer og
1 løsning

CountDown timer

Hej eksperter

Jeg sidder og prøve på at få mit countdown timer til spillede rigtigt...

det er ligesom om den ikke vil dele det op i uger, dage, timer, minuter og sekunder rigtigt

Det skal lige siges at denne linie få jeg ved at hente fra mysql-tabel endtime

countdown('CD32','789907');

----------- kode --------------

function countdown(divid, endtime){

    var numweeks = Math.floor(endtime / 604800);
    var numdays = Math.floor(endtime / 86400);
    var numhours = Math.floor((endtime % 86400) / 3600);
    var numminutes = Math.floor(((endtime % 86400) % 3600) / 60);
    var numseconds = ((endtime % 86400) % 3600) % 60;
   
    if(numseconds >= 0){

    if(numseconds <= 0 ){
        var StrSeconds = "";
    }else if(numseconds < 2 ){
        var StrSeconds = numseconds + " Sekund ";
    }else{
        var StrSeconds = numseconds + " Sekunder ";
    }
   
    if(numminutes <= 0 ){
        var StrMinutes = "";
    }else if(numminutes < 2 ){
        var StrMinutes = numminutes + " Minut ";
    }else{
        var StrMinutes = numminutes + " Minuter ";
    }
   
    if(numhours <= 0 ){
        var StrHours = "";
    }else if(numhours < 2 ){
        var StrHours = numhours + " Time ";
    }else{
        var StrHours = numhours + " Timer ";
    }
   
    if(numdays <= 0 ){
        var StrDays = "";
    }else if(numdays < 2 ){
        var StrDays = numdays + " Dag ";
    }else{
        var StrDays = numdays + " Dage ";
    }   

    if(numweeks <= 0 ){
        var StrWeeks = "";
    }else if(numweeks < 2 ){
        var StrWeeks = numweeks + " Uge ";
    }else{
        var StrWeeks = numweeks + " Uger ";
    }
   





   
   
        document.getElementById(divid).innerHTML = StrWeeks + StrDays + StrHours + StrMinutes + StrSeconds;
        setTimeout("countdown('"+divid+"','"+(endtime-1)+"')",1000);
    }else{
        document.getElementById(divid).innerHTML = 'Udløbet';
    }
}

countdown('CD32','789907');
Avatar billede webweaver Praktikant
26. december 2010 - 13:01 #1
Hvad skal det vise helt præcist og hvad viser den forkert?

Fx dette regnestykke,
var numhours = Math.floor((endtime % 86400) / 3600);

Hvorfor bruger du modulus? Og hvilket antal timer skal du finde?
Jeg går ud fra du vil finde ud af hvor mange timer 789907 sekunder svarer til?

Du regner uger og dage ud fint. 1,3 uger og 9,1 dage.
Skal du så finde ud af hvor mange timer dette svarer til?

Dit modulus regnestykke giver 3,4 timer.
Skal det være resterende timer efter 9,1 dage eller?
Avatar billede expnet Seniormester
27. december 2010 - 07:45 #2
Det er unddrog mig er at den skriver

2 Uger 20 Dage 23 Timer 58 Minuter 51 Sekunder

Jeg vil da mene at den skal lave de 20 dage om til uger eller så noget?
Avatar billede webweaver Praktikant
27. december 2010 - 10:54 #3
Har du prøvet at udskrive variablerne enkeltvis i starten, for at se om de har den rigtige værdi der?
Avatar billede expnet Seniormester
28. december 2010 - 00:35 #4
kan ikke lige se hvad der skulle være problem og synes og jeg har svært ved at forstår den udregning der sker i starten af scripts
Avatar billede expnet Seniormester
08. februar 2011 - 13:01 #5
lukker uden held med at få det løst
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