客户端获取服务器时间倒计时
倒计时是我们生活中比不可少的,尤其是搞程序开发的,涉及到电子商务的。都有倒计时的这个技术,首先我给大家分享一下我常常用的倒计时吧,
一、
用ajax写倒计时,ajax写倒计时,大家会发现一个确定就是他不停的想服务器发送请求,如果多了的话,就会对服务器施加压力,
大家如果要看看代码,我可以提供个大家参考,这是vs2005里面的,我以前也讲过vs2005怎么利用ajax不用安装,大家也可以去看看vs005不安装ajax一样用ajax
,
这是前面lianxi.aspx里面的,
剩余时间:00天
ID="lblHours" runat="server">
:runat="server">
:后面lianxi.aspx.cs
protected void Timer_Tick(object sender, EventArgs e)
{
CountdownSpan = endTime - DateTime.Now;//这是服务器端得到的生余时间
if (CountdownSpan.TotalSeconds > 0)
{
// lblDays.Text = CountdownSpan.Days.ToString();
lblHours.Text = CountdownSpan.Hours < 10 ? "0" + CountdownSpan.Hours.ToString() : CountdownSpan.Hours.ToString();
lblMinutes.Text = CountdownSpan.Minutes < 10 ? "0" + CountdownSpan.Minutes.ToString() : CountdownSpan.Minutes.ToString();
lblSeconds.Text = CountdownSpan.Seconds < 10 ? "0" + CountdownSpan.Seconds.ToString() : CountdownSpan.Seconds.ToString();
}
}
二、
用js写的时间倒计时
js文件里面的
function ShowTime() {
var nowtime=new Date(); //客户端的开始时间
$(".hddTime").each(function() {
var s = $(this).val(); //得到结束时间
var d = new Date(Date.parse(s.replace(/-/g, "/")));
var ticks = parseInt((d.getTime()-nowtime.getTime())/1000);
var hh = parseInt(ticks/3600);
var mm = parseInt((ticks%3600)/60);
var ss = ticks % 60;
if (isNaN(ss)) {
ss = 00;
}
if (isNaN(mm)) {
ss = 00;
}
if (isNaN(hh)) {
ss = 00;
}
if (hh >= 0) {
$("#hh").text(hh);
}
if (mm >= 0) {
$("#mm").text(mm);
}
if (ss >= 0) {
$("#ss").text(ss);
}
})
}
ShowTime()
var sh;
sh=setInterval(ShowTime,1000);
前台调用js
//服务器传过来的结束时间。
00
小时
00
分
00
秒