C# 如何使用Jquery为每个候选人设置倒计时
我正在在线问答系统上工作,我必须为每个候选人显示倒计时,如3分钟,过期的用户将重定向到Result.aspx页面。 我正面临以下挑战 1.如何为每个候选人设置计数器。 2.页面刷新计数器设置为默认值。 我有以下代码C# 如何使用Jquery为每个候选人设置倒计时,c#,jquery,C#,Jquery,我正在在线问答系统上工作,我必须为每个候选人显示倒计时,如3分钟,过期的用户将重定向到Result.aspx页面。 我正面临以下挑战 1.如何为每个候选人设置计数器。 2.页面刷新计数器设置为默认值。 我有以下代码 <div id="timer"> </div> <script type="text/javascript"> function countdown(minutes) { var seconds = 60;
<div id="timer">
</div>
<script type="text/javascript">
function countdown(minutes) {
var seconds = 60;
var mins = minutes;
if (getCookie("minutes") && getCookie("seconds")) {
var seconds = getCookie("seconds");
var mins = getCookie("minutes");
}
function tick() {
var counter = document.getElementById("timer");
setCookie("minutes", mins, 10)
setCookie("seconds", seconds, 10)
var current_minutes = mins - 1
seconds--;
counter.innerHTML =
current_minutes.toString() + ":" + (seconds < 10 ? "0" : "") + String(seconds);
//save the time in cookie
//minutesSpan.innerHTML = current_minutes.toString();
//secondsSpan.innerHTML = (seconds < 10 ? "0" : "") + String(seconds);
if (seconds > 0) {
setTimeout(tick, 1000);
}
else {
if (mins > 1) {
// countdown(mins-1); never reach “00″ issue solved:Contributed by Victor Streithorst
setTimeout(function () { countdown(mins - 1); }, 1000);
}
}
}
tick();
}
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
countdown(3);
</script>
为了使事情顺利进行,你需要做两件事 1) 创建完美的倒计时方法 2) 解决重新加载依赖关系
- 对于重新加载/刷新之前的重新加载,触发一个函数,该函数将存储从预定义倒计时开始经过的当前时间李>
$(window.bind('beforeunload',function()){
//下面的函数将当前经过的时间存储在cookie/本地存储器中
callFunction();
返回true;
});代码>
private void NewCandidate()
{
var ClistCount = (from cl in ef.Candidate_Table where cl.Name == btnname.Text && cl.Status_Id==2 select cl).FirstOrDefault();
if (ClistCount != null)
{
string cnic = ClistCount.Cnic;
Session["token"] = cnic;
Response.Redirect("MainTestForm.aspx?id=" + cnic);
}
else
{
MsgLitteral.ShowNotification("No Candidate Is Here", true);
btnbrowse.Visible = false;
btnname.Visible = false;
}
}