2017-06-06 6 views
0

Hallo, ich bin neu in JavaScript und kann nicht verstehen, wie man diesen Code ändert.Einstellen der verbleibenden Zeit als Zeit von jetzt bis Mitternacht?

Ich möchte dies ändern, so dass die verbleibende Zeit von dem Zeitpunkt ist, an dem die Benutzer die Seite bis Mitternacht laden. Zum Beispiel, wenn es 19 Uhr ist, wird die verbleibende Zeit 5 Stunden 0 Minuten 0 Sekunden sein, oder wenn es 19:45 Uhr war, würde die verbleibende Zeit 4 Stunden 15 Minuten 0 Sekunden sein.

function startTimer(start, duration, display) { 
    var diff, minutes, seconds; 
    function timer(){ 
     diff = duration - (((Date.now() - start)/1000) | 0); 
     minutes = (diff/60) | 0; 
     seconds = (diff % 60) | 0; 
     minutes = minutes < 10 ? "0" + minutes : minutes; 
     seconds = seconds < 10 ? "0" + seconds : seconds; 
     display.textContent = minutes + ":" + seconds; 
     if (diff <= 0) { 
      clearInterval(inti); 
      document.getElementById("countdownhere").innerHTML 

BEARBEITEN: oops hier ist der volle Code, danke an Jonas W für Hinweis!

var d = new Date(); 

(function($){$.fn.progressbar=function(){var a="<p>Countdown Timer!</p>"+"<div class='progressbar'><div style='width:100%'></div></div>";this.addClass('items-count');this.html(a+this.html());updateMeter(this);var b=this; 

{$("#progress_bar").progressbar();var tag="ctdn-12-12".match(/\d+/g);var hour=14;var theDaysBox=$("#numdays");var theHoursBox=$("#numhours");var theMinsBox=$("#nummins");var theSecsBox=$("#numsecs");var d=new Date();var n=d.getDay();var date=1;var gg=0;var hh=0;var ii=0;var nsec=0-d.getSeconds();if(nsec<0){nsec=60-d.getSeconds();gg=1}var nmin=0-d.getMinutes()-gg;if(nmin<0){nmin=60-d.getMinutes()-gg;hh=1}var nhrs=14-d.getHours()-hh;if(nhrs<0){nhrs=38-d.getHours()-hh;ii=1}var ndat=date-1;if(ndat<0){var mmon=d.getMonth();ndat=30+date-d.getDate()-ii}theSecsBox.html(nsec);theMinsBox.html(nmin);theHoursBox.html(nhrs);theDaysBox.html(ndat);var refreshId=setInterval(function(){var e=theSecsBox.text();var a=theMinsBox.text();var c=theHoursBox.text();var b=theDaysBox.text();if(e==0&&a==0&&c==0&&b==0){}else{if(e==0&&a==0&&c==0){theDaysBox.html(b-1);theHoursBox.html("23");theMinsBox.html("59");theSecsBox.html("59")}else{if(e==0&&a==0){theHoursBox.html(c-1);theMinsBox.html("59");theSecsBox.html("59")}else{if(e==0){theMinsBox.html(a-1);theSecsBox.html("59")}else{theSecsBox.html(e-1)}}}}},1000);});</script> 

<div class="items-count" id="progress_bar"></div><div id="clock-ticker" class="clearfix"><div class="block"><span class="flip-top" id="numdays">0</span><br><span class="label">Days</span></div><div class="block"><span class="flip-top" id="numhours">1</span><br><span class="label">Hours</span></div><div class="block"><span class="flip-top" id="nummins">23</span><br><span class="label">Minutes</span></div><div class="block"><span class="flip-top" id="numsecs">36</span><br><span class="label">Seconds</span></div> 

+0

versuchen [moment.js] (https://momentjs.com) und du kannst moment() verwenden. endOf ('tag') – ndufreche

+1

Um es zu umgehen fehlt ... –

+0

Jonas w - danke schön! Ich habe das bearbeitet und repariert, es tut mir leid! Kannst du deine Antwort aktualisieren? Vielen Dank – user1009762

Antwort

0

Vielleicht:

var midnight=new Date(); 
midnight.setHours(0); 
midnight.setDate(midnight.getDate()+1); 
var display=document.body; 
startTimer(new Date(),midnight,display); 

setHours setzt das Datum zum heutigen Mitternacht, dann sind wir am nächsten Tag ...

Verwandte Themen