秒杀倒计时用户自定义控件问题

jisuanjizhuan 2012-11-06 09:24:41
我查了很多资料写了一个秒杀用户自定义控件,先是获取不到服务器时间,我费了九牛二虎之力之后,可以获取到服务器时间,但倒计时不走了。哎……,帮我看一下吧。
<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;
}
}
}
}
...全文
116 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧