Question

I am not able to know the reason, why my countdown timer is not working. Here is my code and jsfiddle link :http://jsfiddle.net/CHC8w/

<div id="idays"></div>
<div id="ihours"></div>
<div id="iminutes"></div>
<div id="iseconds"></div>

<script type="text/javascript">
jQuery(document).ready(function() {
    setInterval(function(){
        var future = new Date('Mar 28 2014 11:35:14');
        var now = new Date('Mar 28 2014 11:05:14');
        //var future = new Date("Sep 20 2014 21:15:00 GMT+0200");
        //var now = new Date();
        var difference = Math.floor((future - now) / 1000);
        var seconds = fixIntegers(difference % 60);
        difference = Math.floor(difference / 60);
        var minutes = fixIntegers(difference % 60);
        difference = Math.floor(difference / 60);
        var hours = fixIntegers(difference % 24);
        difference = Math.floor(difference / 24);
        var days = difference;
        jQuery("#iseconds").text(seconds + " sec");
        jQuery("#iminutes").text(minutes + " min");
        jQuery("#ihours").text(hours + " hr");
        jQuery("#idays").text(days + " days");
    }, 1000);
});

function fixIntegers(integer)
{
    if (integer < 0)
        integer = 0;
    if (integer < 10)
        return "0" + integer;
    return "" + integer;
}
</script>

Kindly help.

Thanks

Was it helpful?

Solution

var now has fixed datetime value var now = new Date('Mar 28 2014 11:05:14'); during each call to setInterval()

OTHER TIPS

Check this too http://jsfiddle.net/CHC8w/1/

 // set the date we're counting down to
 var target_date = new Date("Aug 15, 2019").getTime();

  // variables for time units
 var days, hours, minutes, seconds;

 // get tag element
 var countdown = document.getElementById("countdown");

// update the tag with id "countdown" every 1 second
 setInterval(function () {

// find the amount of "seconds" between now and target
var current_date = new Date().getTime();
var seconds_left = (target_date - current_date) / 1000;

// do some time calculations
days = parseInt(seconds_left / 86400);
seconds_left = seconds_left % 86400;

hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;

minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);

// format countdown string + set tag value
countdown.innerHTML = days + "Days </br> " + hours + "hr</br>"
+ minutes + "min</br>" + seconds + "sec</br>";  

}, 1000);

Source : https://mindgrader.com/tutorials/1-how-to-create-a-simple-javascript-countdown-timer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top