这是一个限时秒杀的拍卖活动。时间只有15秒,活动一开始用户开始竟拍,竟拍成功后倒计时重新开始计时。又重新从15秒开始,期间不管还有多少秒,只要有其他用户竟拍成功时间就重新开始。直到时间等于0的时候活动才结束,东西就归最后竟拍成功的那个人。-----------------------------------忧伤的分割线-----------------------------------需求就这样,现在与到一个问题。就是时间不能同步、和页面刷新后时间就重新开始了。比如说:假定现在有三个人在线并同时参加这个活动。第一个人成功竟拍了,现在时间倒计时到3秒了,这时候又有一个人进来这个活动了,但是他进入页面的时候时间却是从15秒开始的。搞了半天没搞出来,明天老师就要收了,帮帮忙大家。先谢了。
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function sessionTimeout()
{
var label=document.getElementById("lblTime");
var seconds=parseInt(label.value);
seconds=seconds-1;
label.value=seconds.toString();
if(seconds==0)
{
alert("您已超时");
window.location.href="login.aspx";//转到登陆页
clearInterval(sessionTimeout);
}
}
window.setInterval(sessionTimeout,1000);
</script>
</head>
<body>
<form id="form1" runat="server">
<div>剩余秒数:
<input ID="lblTime" name="lblTime" runat="server" type="text" style="border:0px;width:20px;" />
<asp:Button ID="Button1" runat="server" Text="操作" /></div>
</form>
</body>
</html>
.CS文件部分:
protected void Page_Load(object sender, EventArgs e)
{
Session["time"] = System.DateTime.Now.ToString();
Session.Timeout = 1;
lblTime.Value = Convert.ToString(Convert.ToInt32(Session.Timeout) * 60);
}
应该基本能同步,如果延时很历害,,当我没说。