秒杀倒计时用户自定义控件问题
我查了很多资料写了一个秒杀用户自定义控件,先是获取不到服务器时间,我费了九牛二虎之力之后,可以获取到服务器时间,但倒计时不走了。哎……,帮我看一下吧。
<script language="JavaScript" type="text/javascript">
function showTimeLimit<%=this.ClientID %>(str, end, now) {
var now = new Date(now);
前台:
var future = new Date(str);
future -= 1000;
if (now - future < 0) {
var days = (future - now) / 1000 / 60 / 60 / 24;
var dayNum = Math.floor(days);
var hours = (future - now) / 1000 / 60 / 60 - (24 * dayNum);
var houNum = Math.floor(hours);
if (houNum < 10) {
houNum = "0" + houNum;
}
var minutes = (future - now) / 1000 / 60 - (24 * 60 * dayNum) - (60 * houNum);
var minNum = Math.floor(minutes);
if (minNum < 10) {
minNum = "0" + minNum;
}
var seconds = (future - now) / 1000 - (24 * 60 * 60 * dayNum) - (60 * 60 * houNum) - (60 * minNum);
var secNum = Math.floor(seconds);
if (secNum < 10) {
secNum = "0" + secNum;
}
document.getElementById('TimeLimit1<%=this.ClientID %>').innerHTML = "<span class=\"style1\">距秒杀开始还有:</span><br/><span class=\"style2\">" + dayNum + "</span>天<span class=\"style2\">" + houNum + "</span>小时<span class=\"style2\">" + minNum + "</span>分<span class=\"style2\">" + secNum + "</span>秒";
}
else {
var future = new Date(end);
if (now - future < 0) {
var days = (future - now) / 1000 / 60 / 60 / 24;
var dayNum = Math.floor(days);
var hours = (future - now) / 1000 / 60 / 60 - (24 * dayNum);
var houNum = Math.floor(hours);
if (houNum < 10) {
houNum = "0" + houNum;
}
var minutes = (future - now) / 1000 / 60 - (24 * 60 * dayNum) - (60 * houNum);
var minNum = Math.floor(minutes);
if (minNum < 10) {
minNum = "0" + minNum;
}
var seconds = (future - now) / 1000 - (24 * 60 * 60 * dayNum) - (60 * 60 * houNum) - (60 * minNum);
var secNum = Math.floor(seconds);
if (secNum < 10) {
secNum = "0" + secNum;
}
document.getElementById('TimeLimit1<%=this.ClientID %>').innerHTML = "<span class=\"style1\">距秒杀结束还有:</span><br/><span class=\"style2\">" + dayNum + "</span>天<span class=\"style2\">" + houNum + "</span>小时<span class=\"style2\">" + minNum + "</span>分<span class=\"style2\">" + secNum + "</span>秒";
}
else {
document.getElementById('TimeLimit1<%=this.ClientID %>').innerHTML = "<span class=\"style1\">秒杀已结束</span>";
}
}
}
</script>
<span id="TimeLimit1<%=this.ClientID %>">请稍等,正在载入中。。。</span>
<asp:Literal runat="server" ID="lblTime1"></asp:Literal>
后台:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication7
{
public partial class Seckill : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
this.lblTime1.Text = "<script language=\"javascript\" type=\"text/javascript\">setInterval('showTimeLimit" + this.ClientID + "(\"" + StartSeckill + "\",\"" + EndSeckill + "\",\"" + System.DateTime.Now + "\")', 1000);</script>";
}
public DateTime StartSeckill
{
get
{
EnsureChildControls();
return (DateTime)(ViewState["start time"] ?? DateTime.Now);
}
set
{
EnsureChildControls();
ViewState["start time"] = value;
}
}
public DateTime EndSeckill
{
get
{
EnsureChildControls();
return (DateTime)(ViewState["end time"] ?? DateTime.Now);
}
set
{
EnsureChildControls();
ViewState["end time"] = value;
}
}
}
}