我有一个有效的倒数计时器,但希望它重定向到一个网址,或者显示一个弹出窗口,并在计数器达到零时继续显示另一个网址。任何建议表示赞赏。
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>
弹出窗口应该很简单,只需要一个声明和一个继续选项。
答案 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";
}