2016-12-12 2 views
0

Ich habe einen Countdown-Timer wie folgt gemacht und was ich tun möchte ist, nachdem die Zeit zu Ende ist, ein Element von meiner Seite wie ein Beispiel "Preis" zu ändern, können Sie mir helfen Jungs? Codepen!Javascript, jquery Countdown

var clock1 = document.getElementById("midnight-countdown") 
, tdy = new Date(); 
clock1.innerHTML = countdown(new Date(tdy.getFullYear(), tdy.getMonth(), tdy.getDate() + 1)).toString(); 
setInterval(function(){ 
clock1.innerHTML = countdown(new Date(tdy.getFullYear(), tdy.getMonth(), tdy.getDate() + 1)).toString(); 
}, 1000); 


<h4 id="midnight-countdown"></h4> 
+0

Willkommen bei StackOverflow! Informationen dazu, wie man auf dieser Website gute Fragen stellt, finden Sie unter [fragen]. Im Allgemeinen ist es besser, einen Code zu posten, den Sie ausprobiert haben und der nicht funktioniert, da er zeigt, dass Sie sich Mühe gegeben haben, das Problem selbst zu lösen, da SO kein Codierdienst, sondern eine QA-Site ist. – Kateract

+0

können Sie bitte klarer sein, wie genau Sie wollen, dass es funktioniert – Geeky

+0

Ja, ich möchte einen Countdown-Timer machen und wann ist es getan, um meinen Preis von Produkten zu ändern, aber ich brauche dies ohne Reset, wenn der Kunde die Seite aktualisieren.Haben Sie einen schönen Tag ! – CIonut

Antwort

0

Es scheint, dass die Zählerfunktion leeren String zurückgibt, wenn die Zahl für Stunde/min/Sekunde 0 ist

Es bedeutet, dass, wenn der Moment kommt, dass innerhtml leer sein würde, so dass Sie ein setzen können Check-in Ihrem Intervall, es zu fangen und zu tun, was Sie wollen:

setInterval(function(){ 
     clock1.innerHTML = countdown(new Date(tdy.getFullYear(), tdy.getMonth(), tdy.getDate() + 1)).toString(); 
     if(!clock1.innerHTML) { 
      //do change the UI however you like 
     } 
    }, 1000); 
0

Dies ist, wie Sie es, indem Sie den Countdown als ein Objekt tun konnten, und die Objektparameter zu identifizieren, wenn der Countdown abgelaufen ist.

var countdownTimer = { 
    time : 30, 
    reset: function() { 
     this.time = 30; 
     $('.timer').html('<h3>' + this.time + ' seconds remaining</h3>'); 
    }, 
    start: function() { 
     counter = setInterval(countdownTimer.count, 1000); 
    }, 
    stop: function() { 
     clearInterval(counter); 
    }, 
    count: function() { 
      countdownTimer.time--; 
      console.log(countdownTimer.time); 
      $('.timer').html(countdownTimer.time); 
     if (countdownTimer.time >= 0) { 
      $('.timer').html('<h3>' + countdownTimer.time + ' seconds remaining</h3>'); 
     } 
     else { 
      countdownTimer.reset(); 
      (insert code here to inject your price change) 
     } 
    } 
} 

In dieser Situation, wenn countdownTimer.time unter 0 ist, wird der Zähler zurückgesetzt und Sie können dann die notwendige Logik hinzufügen Ihr Element zu ändern.

+0

Vielen Dank, aber ich will nicht, wenn die Seite aktualisiert wurde Countdown zurücksetzen :(Danke Jungs! – CIonut

+0

Hey Jeff können Sie auch setzen und Mark-up für HTML für diese Lösung? Ich kann es nicht schaffen, etwas zu drucken! Danke! – CIonut

+0

Funktioniert das, benötigt jQuery diese Bibliothek zusätzlich zu Ihrem JS-Skript. –