1
我正在處理在asp.net,jQuery,C#中的倒計時器的這段代碼。倒數計時器在減去而不是在0天停止00:00:00
我有倒計時這個jQuery代碼:
<div id="timelabel"></div>
<script type="text/javascript">
var leave = <%=seconds %>;
CounterTimer();
var interv = setInterval(CounterTimer,1000);
function CounterTimer()
{
var day = Math.floor(leave/(60 * 60 * 24))
var hour = Math.floor(leave/3600) - (day * 24)
var minute = Math.floor(leave/60) - (day * 24 *60) - (hour * 60)
var second = Math.floor(leave) - (day * 24 *60*60) - (hour * 60 * 60) -(minute*60)
hour = hour < 10 ? "0" + hour : hour;
minute = minute < 10 ? "0" + minute : minute;
second = second<10 ? "0" + second : second;
var remain = day + " days " + hour + ":" + minute + ":" + second;
leave = leave - 1;
document.getElementById("timelabel").innerText = remain;
}
</script>
,我來自碼傳遞結束日期後面的文件,是的.cs:
public double seconds;
protected void Page_Load(object sender, EventArgs e)
{
seconds = (GetEndTime() - GetStartTime()).TotalSeconds;
}
private DateTime GetStartTime()
{
return DateTime.Now;
}
private DateTime GetEndTime()
{
return new DateTime(2016, 6, 12, 11, 57, 00); //end date yr-month-day hr-mnt-sec
}
我面臨的一個問題,這定時器不會停止時,它擊中0天00:00:00 它超越瞭如-1天23:48:20。我想解決這個問題,因爲我沒有那麼多的關於jQuery的知識,我發現它非常困難,所以有人可以引導我進行必要的修改?請幫忙。先謝謝你。
是它的偉大工程也停在00,因爲它擊中0,但問題提出那就是如果我刷新同一頁面,當它停在00它會像-1天23時59分四十秒減。有什麼方法可以在結束日期小於當前日期的0天00:00:00進行? –
是的,你的代碼不會阻止結束日期比當前日期更小。您需要在CounterTimer方法的開始處添加if(leave <0)leave = 0等邏輯。 – Mengo
非常感謝... –