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に関する知識があまりないため、これを修正したいと思っています。助けてください。前もって感謝します。
はい、それが0に当たるとして、それは00でストップ素晴らしい作品が、問題は、それはそれは-1日23時59分40秒のようにマイナスに行く00に停止したときに、私は同じページを更新するとつまり上げます。終了日が現在の日付よりも小さい0日00:00:00に置く方法はありますか? –
はい、コードで終了日が現在の日付よりも小さくなることはありません。 CounterTimerメソッドの先頭にif(leave <0)leave = 0のようなロジックを追加する必要があります。 – Mengo
ありがとうございます... –