7 Replies Latest reply on Nov 5, 2015 12:29 PM by kglad

    How to restart a Countdown Timer?

    trucatchtraps

      Hi all!

       

      I have a pretty simple countdown timer created to countdown to October 16th. Everything works fine except when the current date is between October 17th and December 31st. Once the current date is January 1st of the new year the timer will start again. How can I adjust my code in order to restart the Timer on October 17th. Basically, I am trying to get this countdown timer to work year round and only show 00:00:00:00 on October 16th, which I am planning on changing that to show some text instead (not yet started).

       

      Below is the code I am currently using:

       

      //onEnterFrame allows for a function to be called every tick
      this.onEnterFrame = function()
      {
        //Stores the current date
        var today:Date = new Date();
        //Stores the Current Year
        var currentYear = today.getFullYear();
        //Stores the Current Time
        var currentTime = today.getTime();
        //Creates and stores the target date
        var targetDate:Date = new Date(currentYear,9,16);
        var targetTime = targetDate.getTime();
        //Determines how much time is left.  Note: Leaves time in milliseconds
        var timeLeft = targetTime - currentTime;
        var sec = Math.floor(timeLeft/1000);
        var min = Math.floor(sec/60);
        var hours = Math.floor(min/60);
        var days = Math.floor(hours/24);
        //Takes results of var remaining value.  Also converts "sec" into a string
        sec = String(sec % 60);
        //Once a string, you can check the values length and see whether it has been reduced below 2.
        //If so, add a "0" for visual purposes.
        if(sec.length < 2){
        sec = "0" + sec;
        }
        min = String(min % 60);
        if(min.length < 2){
        min = "0" + min;
        }
        hours = String(hours % 24);
        if(hours.length < 2){
         hours = "0" + hours;
        }
        days = String(days);
        if(timeLeft > 0 ){
         //Joins all values into one string value
         var counter:String = days + ":" + hours + ":" + min + ":" + sec;
         time_txt.text = counter;
        }
        else{
        trace("TIME'S UP");
              var newTime:String = "00:00:00:00";
              time_txt.text = newTime;
              delete (this.onEnterFrame);
        }
      }
      

       

      Thank you for any assistance!