www.webdeveloper.com
Results 1 to 3 of 3

Thread: Countdown Timer Refresh Question

  1. #1
    Join Date
    Jun 2011
    Posts
    2

    Countdown Timer Refresh Question

    I was wondering how I can make the page refresh after the timer has reached 0 for X amount of seconds? Here is the code I am using:

    PHP Code:
    <script language="JavaScript">
    TargetDate "{$timerdate}";
    BackColor "#FFFFFF";
    ForeColor "#FF0000";
    CountActive true;
    CountStepper = -1;
    LeadingZero true;
    DisplayFormat "%%D%% Days %%H%% Hours %%M%% Minutes %%S%% Seconds";
    FinishMessage "<b>Price has been reduced!</b>";
    </script> 
    PHP Code:
    function calcage(secsnum1num2) {
      
    = ((Math.floor(secs/num1))%num2).toString();
      if (
    LeadingZero && s.length 2)
        
    "0" s;
      return 
    "<b>" "</b>";
    }

    function 
    CountBack(secs) {
      if (
    secs 0) {
        
    document.getElementById("cntdwn").innerHTML FinishMessage;
        return;
      }
      
    DisplayStr DisplayFormat.replace(/%%D%%/gcalcage(secs,86400,100000));
      
    DisplayStr DisplayStr.replace(/%%H%%/gcalcage(secs,3600,24));
      
    DisplayStr DisplayStr.replace(/%%M%%/gcalcage(secs,60,60));
      
    DisplayStr DisplayStr.replace(/%%S%%/gcalcage(secs,1,60));

      
    document.getElementById("cntdwn").innerHTML DisplayStr;
      if (
    CountActive)
        
    setTimeout("CountBack(" + (secs+CountStepper) + ")"SetTimeOutPeriod);
    }

    function 
    putspan(backcolorforecolor) {
     
    document.write("<span id='cntdwn' style='background-color:" backcolor 
                    
    "; color:" forecolor "'></span>");
    }

    if (
    typeof(BackColor)=="undefined")
      
    BackColor "white";
    if (
    typeof(ForeColor)=="undefined")
      
    ForeColor"black";
    if (
    typeof(TargetDate)=="undefined")
      
    TargetDate "12/31/2020 5:00 AM";
    if (
    typeof(DisplayFormat)=="undefined")
      
    DisplayFormat "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
    if (
    typeof(CountActive)=="undefined")
      
    CountActive true;
    if (
    typeof(FinishMessage)=="undefined")
      
    FinishMessage "";
    if (
    typeof(CountStepper)!="number")
      
    CountStepper = -1;
    if (
    typeof(LeadingZero)=="undefined")
      
    LeadingZero true;


    CountStepper Math.ceil(CountStepper);
    if (
    CountStepper == 0)
      
    CountActive false;
    var 
    SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 990;
    putspan(BackColorForeColor);
    var 
    dthen = new Date(TargetDate);
    var 
    dnow = new Date();
    if(
    CountStepper>0)
      
    ddiff = new Date(dnow-dthen);
    else
      
    ddiff = new Date(dthen-dnow);
    gsecs Math.floor(ddiff.valueOf()/1000);
    CountBack(gsecs); 

  2. #2
    Join Date
    Feb 2011
    Posts
    231
    Hy,
    Try to adapt the following JS function to your script:
    Code:
    <script type="text/javascript"><!--
    var sec = 4;          // define the numbers of seconds till refresh
    
    function getRefresh(sec) {
      sec--;
      //document.write(sec);
      if(sec==0) location.reload(true);
     else setTimeout("getRefresh("+sec+")", 1000);
    }
    
    getRefresh(sec);
    --></script>

  3. #3
    Join Date
    Jun 2011
    Posts
    2
    Hey thanks, I ended up just putting the timeout directly in the main part where it writes the text and it works

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles