考试系统的时间问题,进来帮看看怎么显示一个剩余时间的问题你!

zbwjy402 2009-04-24 08:38:02
这两天在做考试时间的问题,想在一个div层里显示考试的总时间和剩余时间,总时间是能显示了,但是剩余时间不知道怎么显示,值是算出来了的,我是在aspx里面用js算出时间的,但是不知道怎么样在div里的一个行里怎么使用这个剩余的时间,大家帮帮我,急急急急急!!!!!!!

下面是我的aspx部分代码:
<script type="text/jscript" language="jscript">
var CurrentTime,LimitTime,LeftTime,EndTime,StartTime;
CurrentTime = new Date();
LimitTime = <%=Totaltime%>;
EndTime = <%=EndTime%>;
StartTime = <% =StartTime %>
CurrentTime = CurrentTime.getHours()* 60 + CurrentTime.getMinutes();
LeftTime = EndTime -(CurrentTime.getHours()* 60 + CurrentTime.getMinutes());
然后是一个div层,里面有table
<div name="divTestInfo" id="divTestInfo" style="position:absolute;border:solid 0px #000;left:200px;width:180px;height:80px">
<table width="100%" height="50" align="center" border="0" bgcolor="#FFFFFF" cellpadding="0" cellspacing="1">
<tr>
<td colspan="2" align="center" bgcolor="#000000"><font color="#FFFFFF"><strong>控制面板</strong></font></td>
</tr>
<tr>
<td align="right" bgcolor="#000000" style="width: 100px; height: 20px"><font color="#FFFFFF">考试总时间:</font></td>
<td bgcolor="000000" align="right" style="width: 77px; height: 20px"><font color="#DDFF00"><strong><%=Totaltime%></strong></font> <font color="#FFFFFF">分钟 </font>
</td>
</tr>
<tr>
<td align="right" bgcolor="#000000"style="width: 100px; height: 20px;"><font color="#FFFFFF">剩余时间:</font></td>
<td bgcolor="#000000" align="right" style="width: 77px; height: 20px;"><font color="#DDFF00"><input id="txtOddTime" runat="server" type="text" size="3" style="text-align:right;color:#AAFF00;border:0px solid #000000;background:#000000;font-weight:bold;"/><font color="#FFFFFF">分钟 </font>
</td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#000000" style="height: 30px">
<asp:Button ID="Button1" runat="server" Text="交卷" /></td>
</tr>
</table>
</div>


怎么样在<input id="txtOddTime" runat="server" type="text" size="3" style="text-align:right;color:#AAFF00;border:0px solid #000000;background:#000000;font-weight:bold;"/>这个input里面把值LeftTime给显示出来!
...全文
229 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复


刚才自己随便做个 你看看符合你的不

C# code<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporti…
[/Quote]

===========
加了我的还是没div里面的这个值,你的能的显示的?
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 zhnzzy 的回复:]
不要用JS去做,因为这时客户端的时间,你应该用服务器的时间去判断,否则不准确,其实用个TIMER控件显示去可以了
[/Quote]

那timeer 这个该怎么实现呢,能说详细点不
anlianganl 2009-04-24
  • 打赏
  • 举报
回复
lz你试试吧
anlianganl 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 zbwjy402 的回复:]
引用 19 楼 anlianganl 的回复:
在套一个div吧


怎么实现?
[/Quote]
刚才自己随便做个 你看看符合你的不
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
<script type="text/javascript">
var TimeID=null;
var Record=false;
var maxtime = 63*5; //一个小时,按秒计算,自己调整!
function Submit(){
document.getElementById('bgsound').play();
alert('时间已到,提交成功!');}

function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = ""+minutes+"分"+seconds+"秒";
document.all["timer"].innerHTML=msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
}
else{
clearInterval(timer);
Submit();
}
}
timer = setInterval("CountDown()",1000);
</script>
</head>
<body onload="CountDown()">
<form id="form1" runat="server" onclick="Submit();">
<embed id="bgsound" loop="0" autostart="false" style="display:none" src="http://www.lingshengzhan.com/shiting/温柔闹钟提示音.mp3 "></embed>
<div name="divTestInfo" id="divTestInfo" style="bottom: auto;border:solid 0px #000;left:200px;width:180px;height:80px">
<table width="100%" height="50" align="center" border="0" bgcolor="#FFFFFF" cellpadding="0" cellspacing="1">
<tr>
<td colspan="2" align="center" bgcolor="#0000ff"> <font color="#FFFFFF"> <strong>控制面板 </strong> </font> </td>
</tr>
<tr>
<td align="right" bgcolor="#0000ff" style="width: 100px; height: 20px"> <font color="#FFFFFF">考试总时间: </font> </td>
<td bgcolor="0000ff" align="right" style="width: 77px; height: 20px"> <font color="#DDFF00"> <strong> 60</strong> </font> <font color="#FFFFFF">分钟  </font>
</td>
</tr>
<tr>
<td align="right" bgcolor="#0000ff"style="width: 100px; height: 20px;"> <font color="#FFFFFF">剩余时间: </font> </td>
<td bgcolor="#0000ff" align="right" style="width: 77px; height: 20px;"> <font color="#DDFF00"> <div id="timer"></div>
</td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#0000ff" style="height: 30px">
<input id="button1" name="button1" type="Submit" value="交卷"/> </td>
</tr>
</table>
</div>
</form>
</body>
</html>
zhnzzy 2009-04-24
  • 打赏
  • 举报
回复
不要用JS去做,因为这时客户端的时间,你应该用服务器的时间去判断,否则不准确,其实用个TIMER控件显示去可以了
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
大家帮帮我啊,在做毕业设计,就差这步了!!!!
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
大家帮帮我啊,在做毕业设计,就差这步了!!!!
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 anlianganl 的回复:]
在套一个div吧
[/Quote]

怎么实现?
anlianganl 2009-04-24
  • 打赏
  • 举报
回复
在套一个div吧
wzuomin 2009-04-24
  • 打赏
  • 举报
回复
帮顶
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zgke 的回复:]
使用JS做把

<script type="text/jscript" language="jscript">
function setTime(y,m,d,hh,mm,ss){
timenow = new Date();
timeend =new Date(y,m,d,hh,mm,ss,000);
var timespan =timeend-timenow;
day = timespan / 1000 / 60 / 60 / 24;
dayround =Math.floor(day);
hour = timespan / 1000 / 60 / 60 - (24 * dayround);
hourround =Math.floor(hour);
minute = timespan / 1000 /60 - (24 * 60 * …
[/Quote]

===============
这个能计算出考试剩余的时间吗?
yangchao2009 2009-04-24
  • 打赏
  • 举报
回复
aa
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ViewStates 的回复:]
1.你上面的脚本貌似没有 </SCRIPT>

2.可以调用setInterval来实现
setInterval(function(){document.getElementById(' <%=txtOddTime.ClientID%>').value=LeftTime ;},1000);
[/Quote]


这里面的function()是自己要写的一个函数吗?
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lovehongyun 的回复:]
怎么样在 <input id="txtOddTime" runat="server" type="text" size="3" style="text-align:right;color:#AAFF00;border:0px solid #000000;background:#000000;font-weight:bold;"/>这个input里面把值LeftTime给显示出来!
==========
显示在txtOddTime上很容易,document.getElementById('txtOddTime').value = 你算的值
关键是你的时间要一直变化的,所以你要用setTimeout,每次都要算一次时间,然后显示在txtOddTime上
[/Quote]

============
那我该怎么做呢?settimeout,请帮忙写下代码,上面你说的我做过,但是还是没时间显示出来
zgke 2009-04-24
  • 打赏
  • 举报
回复
使用JS做把

<script type="text/jscript" language="jscript">
function setTime(y,m,d,hh,mm,ss){
timenow = new Date();
timeend =new Date(y,m,d,hh,mm,ss,000);
var timespan =timeend-timenow;
day = timespan / 1000 / 60 / 60 / 24;
dayround =Math.floor(day);
hour = timespan / 1000 / 60 / 60 - (24 * dayround);
hourround =Math.floor(hour);
minute = timespan / 1000 /60 - (24 * 60 * dayround) - (60 * hourround);
minuteround =Math.floor(minute);
second = timespan / 1000 - (24 * 60 * 60 * dayround) - (60 * 60 * hourround) - (60 * minuteround);
secondround =Math.floor(second);
document.getElementById("txtOddTime").value =minuteround +"-" +secondround;
}



</script>



使用的时候输出 setInterval('setTime(2009,04,24,09,30,00,000)',1000); 这样就好了
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ViewStates 的回复:]
1.你上面的脚本貌似没有 </SCRIPT>

2.可以调用setInterval来实现
setInterval(function(){document.getElementById(' <%=txtOddTime.ClientID%>').value=LeftTime ;},1000);
[/Quote]


这里面的function()是自己要写的一个函数吗?
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zzxap 的回复:]
SQL code
select
datediff(h,开始时间,getdate()) as 时,
datediff(n,开始时间,getdate()) as 分,
datediff(s,开始时间,getdate()) as 秒,

from table
[/Quote]

这句是怎么做的?from table,中的table代表什么?
zbwjy402 2009-04-24
  • 打赏
  • 举报
回复
刷新了那考生的自己的答案都没清除了的吧
lovehongyun 2009-04-24
  • 打赏
  • 举报
回复
怎么样在 <input id="txtOddTime" runat="server" type="text" size="3" style="text-align:right;color:#AAFF00;border:0px solid #000000;background:#000000;font-weight:bold;"/>这个input里面把值LeftTime给显示出来!
==========
显示在txtOddTime上很容易,document.getElementById('txtOddTime').value = 你算的值
关键是你的时间要一直变化的,所以你要用setTimeout,每次都要算一次时间,然后显示在txtOddTime上
zzxap 2009-04-24
  • 打赏
  • 举报
回复
JS可以用settimeout()定时刷新计时

后台可以用trimer控件+updatepanel无刷新显示
加载更多回复(7)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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