2011-05-31 50 views

回答

2

下面是一個簡單的遞歸倒計時功能:

function countdown(time,endcallback,stepcallback) 
{ 
    if (time == 0) endcallback(); 
    else { 
     time--; 
     stepcallback(time); 
     window.setTimeout(function() { 
      countdown(time,callback); 
     },1000); 
    } 
} 

countdown(60,function() { 
    window.location.reload(); 
},function(time) { 
    // display counter on page or do something else 
}); 

編輯:多一點性感這樣:)

+0

@Heandel好吧,也許我想要做的事在每一步(顯示倒計時也許),以及遞歸代碼更性感:) – aorcsik 2011-05-31 10:08:51

+0

通過使用setInterval可能可以改善這一點,而不是重置超時,但它是一件小事 – Jake 2011-05-31 10:20:21

1

在您的html文檔的<head>部分是否使用<META HTTP-EQUIV="refresh" CONTENT="60"/>足夠?你可以閱讀更多about it here

+0

我需要一個明顯的倒計數 – code511788465541441 2011-05-31 10:07:08

0
<div id='countdown'>60</div> 

$(function() { 
    var cd = $('#countdown'); 
    var c = parseInt(cd.text(),10); 
    var interv = setInterval(function() { 
     c--; 
     cd.html(c); 
     if (c == 0) { 
      window.location.reload(false); 
      clearInterval(interv); 
     } 
    }, 1000); 
}); 

不好意思沒注意,你需要在第一次上可見的計數器..所以我編輯答案

工作demo

0

使用下面的代碼:

http://javascript.internet.com/time-date/countdown-timer.html

您只需修改以下內容

if((mins == 0) && (secs == 0)) { 
     window.alert("Time is up. Press OK to continue."); // change timeout message as required 
     // window.location = "yourpage.htm" // redirects to specified page once timer ends and ok button is pressed 
    } 

喜歡的東西:

if((mins == 0) && (secs == 0)) { 
     window.location.reload(); 
    } 
相關問題