我希望倒计时器在定时器命中0后重定向到url

时间:2016-05-10 08:06:10

标签: javascript jquery html timer

我有一个有效的倒数计时器,但希望它重定向到一个网址,或者显示一个弹出窗口,并在计数器达到零时继续显示另一个网址。任何建议表示赞赏。

countdown.js

function calcage(secs, num1, num2) {
  s = ((Math.floor(secs/num1))%num2).toString();
  if (LeadingZero && s.length < 2)
    s = "0" + s;
  return "<b>" + s + "</b>";
}

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

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

function putspan(backcolor, forecolor) {
 document.write("<span id='cntdwn'></span>");
}

if (typeof(BackColor)=="undefined")
  BackColor = "white";
if (typeof(ForeColor)=="undefined")
  ForeColor= "black";
if (typeof(TargetDate)=="undefined")
  TargetDate = 17;/* number of hours            "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(BackColor, ForeColor);
//var dthen = new Date(TargetDate);
//var dnow = new Date();
//if(CountStepper>0)
//  ddiff = new Date(dnow-dthen);
//else
  ddiff = new Date(TargetDate * 300000);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs);

HTML

<!-- COUNTDOWN TIMER -->
<div style="text-align:center">
<div class="content">

<div class="box">
		<div id="top">
			<h2 style="line-height: 20px">You have <span style="color:red; font-size:20px">
<script language="JavaScript">
TargetDate = 1;
//BackColor = "palegreen";
//ForeColor = "navy";
CountActive = true;
LeadingZero = true;
DisplayFormat = "%%H%%:%%M%%:%%S%%";
</script><script type="text/javascript" src="js/countdown.js"></script></span> to claim your FREE spins.</h2>
		

        </p>
		</div>
</div>

弹出窗口应该很简单,只需要一个声明和一个继续选项。

1 个答案:

答案 0 :(得分:2)

你已经在这里查看完倒计时了:

if (secs < 0) {
  document.getElementById("cntdwn").innerHTML = FinishMessage;
  return;
}

所以你可以简单地将更改添加到那里,或者调用“countdownComplete”类型函数。 e.g。

if (secs < 0) {
  document.getElementById("cntdwn").innerHTML = FinishMessage;
  countdownComplete();
  return;
}

在脚本中的相关位置使用countdownComplete函数,其中包含:

function countdownComplete(){
  document.location.href = "http://www.google.com";
}