问题是这样的 要求在页面初始时开始计时
到了一定时间后退出
请各位高手写详细点
我是那种很菜的菜鸟
先谢谢了

解决方案 »

  1.   

    用js实现js里有个setTimeOut函数!可以表示指定程序经过一定间隔的时间执行这样的话你可以下申明一个变量 给他赋初值每settimeout指定的程序执行一次,将变量减少知道等于0的时候就退出
      

  2.   

    <div id="myleft" style="Z-INDEX: 1; RIGHT: 5px; VISIBILITY: visible; WIDTH: 150px; POSITION: absolute; TOP: 500px">
    <table id="setTable" cellSpacing="0" cellPadding="0" width="150" bgColor="#ffffcc" border="0">
    <tr>
    <td align="center" colSpan="2">钟 表</td>
    </tr>
    <tr>
    <td width="65">开始时间:</td>
    <td width="85"><input readOnly type="text" size="10" name="startTime"></td>
    </tr>
    <tr>
    <td>结束时间:</td>
    <td><input readOnly type="text" size="10" name="endTime"></td>
    </tr>
    <tr>
    <td>考试时间:</td>
    <td><input id="toTime" readOnly type="text" size="10" name="toTime" runat="server"></td>
    <tr>
    <tr>
    <td>
    试 题 数</td>
    <td><input type="text" id="examCount" size="10" name="examCount" runat="server"></td>
    </tr>
    <TR>
    <td>现在时间:</td>
    <td><input readOnly type="text" size="10" name="nowTime"></td>
    </TR>
    <tr>
    <td>剩余时间:</td>
    <td><input readOnly type="text" size="10" name="leaveTime"></td>
    </tr>
    <tr>
    <td align="center" colSpan="2"><br>
    <input id="btnOK" onclick="getAunwsers2();" type="submit" value="结束考试">
    </td>
    </tr>
    </table>
    </div>
    //////////////////////
    继续....
      

  3.   

    //
           // setExamTime
           //
           start=new Date();
               //document.Form1.toTime.value是字符类型,需要转换成整形值
               var examTime=parseInt(document.Form1.toTime.value,10);
               
           function setExamTime()
           {
           //
           //startTime
           //
               var Time="";
               var h=start.getHours();
               Time=h+":";
               
               var m=start.getMinutes()
               if(m<10)
                   Time=Time+"0"+m+":";
               else
                   Time+=m+":";
               
               var s=start.getSeconds();
                   if(s<10)
                   Time=Time+"0"+s;
               else
                   Time+=s;
               
               document.Form1.startTime.value=Time;
               //这句话不能加,不知道为什么
              //document.Form1.toTime.value="分钟";
               //
               // endTime
               //
               if(examTime+m>=60)
               {
                  
                   if(h==24)
                       h=1;
                   else
                       h+=1;
                   m=examTime+m-60;
               }
               else
               {
                   m=examTime+m
               }
               //
               Time=h+":";
               if(m<10)
                   Time+="0"+m+":";
               else
                   Time+=m+":";
               if(s<10)
                   Time+="0"+s;
               else
                   Time+=s;
               document.Form1.endTime.value=Time;
               //
               //
               //
               go();
           }
           function go()
           {
           //
           // nowTime
           //
               now=new Date();
               var Time="";
               var h=now.getHours();
               Time=h+":";
               
               var m=now.getMinutes()
               if(m<10)
                   Time=Time+"0"+m+":";
               else
                   Time+=m+":";
               
               var s=now.getSeconds();
                   if(s<10)
                   Time=Time+"0"+s;
               else
                   Time+=s;
               document.Form1.nowTime.value=Time;
               //
               // leave time    70mintes, ||have 00:17:34,leave 00:52:26||have 17:00,leave 53:00||00:5:14--->01:04:46
               // 还要考虑小时
               //
               time = (now.getTime() - start.getTime()) / 1000;
               time = Math.floor( time);//去掉小数位数,保留整数
               //
               //00:00:00的情况,就是剩余的时间要大于等于examTime
               //
                if(time>=examTime*60)
               {
                   alert("考试时间已到!!")
                   getAunwsers2();
               }
               
               haveS = time % 60;
               haveM = Math.floor( time / 60);
               
               var leaveH;
               var leaveM;
               var leaveS;
               //
               if(haveS==0)
               {
                   leaveM=examTime-haveM;
                   leaveH=Math.floor( leaveM / 60);
                   if(leaveM<10)
                   document.Form1.leaveTime.value="0"+leaveH+":"+"0"+leaveM+":00"
                   else
                   document.Form1.leaveTime.value="0"+leaveH+":"+leaveM+":00"
               }
               else
               {
                   leaveS=60-haveS;
                   if(leaveS<10)
                   s="0"+leaveS;
                   else
                   s=leaveS;
                    leaveM=examTime-haveM-1;
                    //
                   leaveH=Math.floor( leaveM / 60);
                   
                   if(leaveM<10)
                   document.Form1.leaveTime.value="0"+leaveH+":"+"0"+leaveM+":"+s;
                   else
                   document.Form1.leaveTime.value="0"+leaveH+":"+leaveM+":"+s;
               }
               setTimeout("go()",1000);
           }
           setExamTime();