tipman Juniormester
14. juli 2020 - 19:25 Der er 3 kommentarer

Javascript count down in sequence

Jeg har følgende kode, som ikke helt virker:

<html>
<body>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>     

<?php
$respitstarttidjava[0]="Jul 14, 2020 14:55:12";
$respitstarttidjava[1]="Jul 14, 2020 14:56:14";
$respitstarttidjava[2]="Jul 14, 2020 14:57:19";
$respitstarttidjava[3]="Jul 14, 2020 14:58:21";
$respitstarttidjava[4]="Jul 14, 2020 14:59:07";
?>
   
    <script>
        var countRespitX = new Date("Jul 14, 2020 19:55:12").getTime();
        var x = setInterval(function() {
            var now = new Date().getTime();
            var distanceresstartX = countRespitX - now;
            var daysresstartX = Math.floor(distanceresstartX / (1000 * 60 * 60 * 24));
            var hoursresstartX = Math.floor((distanceresstartX % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            if (hoursresstartX < 10) hoursresstartX = "0" + hoursresstartX;
            var minutesresstartX = Math.floor((distanceresstartX % (1000 * 60 * 60)) / (1000 * 60));
            if (minutesresstartX < 10) minutesresstartX = "0" + minutesresstartX;
            var secondsresstartX = Math.floor((distanceresstartX % (1000 * 60)) / 1000);
            if (secondsresstartX < 10) secondsresstartX = "0" + secondsresstartX;
            document.getElementById("elem1").innerHTML = minutesresstart0 + " : " + secondsresstart0;
        }, 1000);
    }
    </script>

<p id="elem1"></p><br>
<p id="elem3"></p><br>

</body>
</html>

Scriptet skulle tælle ned til den tid, som står øverst i scriptet, det virker ikke helt. Hvad er lige galt?
Men det næste er at når den er færdig med at tælle ned, så skal den tage den næste respitstarttid og tælle ned til. Hvordan laver jeg scriptet, så fortsætter med at tælle ned så længe der er nogle respitstarttider? Scriptet kan kombineres med php, hvis det er en fordel.
Slater Ekspert
14. juli 2020 - 20:36 #1
Det er lidt svært at se hvad du ønsker, når dit script ikke virker.

Variablerne minutesresstart0 og secondsresstart0 findes slet ikke - hvad skulle de indeholde?
Hvorfor er der en PHP-sektion når den intet gør? Hvorfor bruge PHP til det overhovedet?

Du bliver nok nødt til enten at vise os noget der virker bare lidt, så vi kan se det, eller at beskrive meget tydeligere hvordan du ønsker det skal virke.
tipman Juniormester
15. juli 2020 - 11:13 #2
Variablerne som ender på 0 skulle ende på X. Jeg synes javascript er svært, det mindste der er fejl, så virker det bare ikke og der kommer ikke nogen fejlmeldinger. Selvom jeg ændrer dem til X, så virker det stadig ikke. Kan ikke lige se hvor fejlen er.
Scriptet er en simpel nedtælling til tidspunktet i øverste script linje.Resten af hjemmesiden er lavet i php bortset fra denne nedtællingsfunktion.
Tidspunktet i den øverste script linje skal gerne erstattes af variablerne fra PHP. Når den er færdig med at tælle ned til den første php variabel, så skal den fortsætte med at tælle ned til den næste variabel. Hvordan laver jeg det?
Jeg har forsøgt at udskifte X i java variablerne med <?php $y; ?>, som er en tæller fra php som jeg kan loope igennem. Således kunne jeg lave mange nedtællinger, men jeg kan ikke få dem til at afløse hinanden, så når den ene er færdig, så skal den næste fortsætte.
Håber denne beskrivelse hjælper lidt?
sukos Novice
16. juli 2020 - 16:46 #3
Hmm, lavede dette en gang til en "lotto" hjemmeside.
Med lidt ændringer burde nok virke til dit behov.

function countd(allseconds,page) {

refresh = (!page ? 0 : 1);

var oneM = 60;
var oneH = (60*60);

var Htime = Math.floor(allseconds/oneH);
var Mtime = Math.floor((allseconds-(Htime*oneH))/oneM);
var Stime = Math.floor(allseconds-(Htime*oneH)-(Mtime*oneM));

document.getElementById("timetext").firstChild.nodeValue=(Htime<10?'0'+Htime:Htime)+' h '+(Mtime<10?'0'+Mtime:Mtime)+' m '+(Stime<10?'0'+Stime:Stime)+' s';


    if(allseconds){


        setTimeout("countd("+(allseconds-1)+","+refresh+");",1000);

    }else{

        if(refresh) {
        window.location.reload();
        }

        document.getElementById("timetext").firstChild.nodeValue='Draw is going on!';

    }

}
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

Opret Preview

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





Premium
Per Kogut ser tilbage på halvt år med kontroltab: "Jeg havde håbet, at jeg kunne være mere i kontrol, end tilfældet har været"
Interview: NNIT-boss Per Kogut har udpeget tre nøglepunkter, der beskriver selskabets første seks månender i 2020. Problemet er bare, at han kun kan kontrollere et af punkterne. Det huer ikke topchefen. "Vi er hverken i kontrol med corona eller, hvad Novo Nordisk gør, så vi er kun i kontrol med vores nye strategi," siger han.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
Sådan opbevarer du effektivt og sikkert dine data – også med hybrid cloud
Cloud er her der og alle vegne. Men mange organisationer foretrækker en mere blandet tilgang, hvor dele af virksomhedens workload og it-miljøer sendes i clouden, mens andre dele placeres i andre og ofte lokale datacentre. Det stiller ofte mange forskelligartede krav til behovet for lokal storage. Men med IBM FlashSystem kan du konsolidere dit storage-behov og reducere kompleksiteten. Samtidig er FlashSystem all-flash og hybrid-løsninger bygget på et standardiseret sæt af værktøjer og APIs, som giver dig adgang til enterprise-løsninger uanset størrelsen på din organisation. I dette whitepaper fra Atea og IBM kan du læse om IBMs storeløsninger og de yderligere fordele som du kan opnå med dem.