打开这个页面之后,会弹出:刷新了一次
你把系统时间调至:23:59:50,过10秒之后又会弹出:刷新了一次
表明到0:00:00的时刻你的页面就刷新了一次。我的问题是:(为什么我把0:0:00 换成 15:20:00分就刷新不了 没有反应的? 我想添加多个时间段怎么写?  希望高手能够把掉弹出警告窗口的代码删除掉!)<script type="text/javascript">
function getNewTime(){
 var newTime=new Date()
 H=newTime.getHours()
 M=newTime.getMinutes()
 S=newTime.getSeconds()
 T_time=H+":0"+M+":0"+S
 st=setTimeout("getNewTime()",1000)
 if(T_time=="0:00:00"){
  clearTimeout(st)
  window.location.reload() 
 }
}
window.onload=getNewTime
/*
为了测试是否刷新,引用以下代码:
*/
function test(){
 alert("刷新了一次")
}test()</script> 

解决方案 »

  1.   

    两个问题,
    一、 T_time=H+":0"+M+":0"+S 这句代码限定了分和秒只能是10以下的,01、02等等,如果需要改成15:20:00 ,那你这个零就不能这么决对的写死在这里,需要加一个判断,小于10才在前面加0.二、添加多个时间段的判断,你可以在这句代码后面添加一个或者的判断 if(T_time=="0:00:00" || T_time == '你想要的时间'), 也可以加个 else if(T_time == '你想要的时间')三、去掉弹窗,把这句代码 test() 或者 alert("刷新了一次")任意去掉一句就OK了
      

  2.   

    补零处理有问题,<10的才需要补零:
    function timeFormat(s) {
    if (parseInt(s) < 9) s = '0' + s;
    return s;
    }
    var newTime = new Date();
    var H = timeFormat(newTime.getHours());
    var M = timeFormat(newTime.getMinutes());
    var S = timeFormat(newTime.getSeconds());
    var T_time = H + ':' + M + ':' + S;
      

  3.   


    function timeFormat(s) {
        if (parseInt(s) < 10) s = '0' + s; //这里有问题,低级错误唉
        return s;
    }
      

  4.   

    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function timeFormat(s) {
      return parseInt(s) < 10 ? '0' + s : s;
    }
    function getNewTime(targetTime) {
      var newTime = new Date();
      var H = timeFormat(newTime.getHours());
      var M = timeFormat(newTime.getMinutes());
      var S = timeFormat(newTime.getSeconds());
      var T_time = H + ':' + M + ':' + S;
      document.getElementById('demo').innerHTML = T_time;
      if (T_time == targetTime) {
      clearTimeout(st);
      alert('刷新了一次');
      window.location.reload();
      }
    }
    window.onload = function (){
    st = setInterval('getNewTime("10:17:59")', 1000);
    }
    </script>
    </head><body>
    <span id="demo"></span>
    </body>
    </html>
      

  5.   

    setTimeou是延时执行,代码只执行一次。应该使用setInterval来执行getNewTime()函数。上面代码中把clearTimeout(st)这一行去掉吧(实际上应该是clearInterval(st),我写错了),既然你要调用location.reload()刷新页面,就不需要清理了。