2015-07-10 177 views
0

我想要做的是显示一个默认的字符串,当达到一定的时间时,它必须更新该字符串。该字符串将在后面有css的h1中更新。getTime JS代码无法正常工作

这是我的代码:

<h1 id="header" class="loginhead" ></h1> 
    <script> 
     //pu8t in onload 
     document.onload = setDateChange(); 

     function setDateChange(){ 
      // datestring format yyyy-mm-dd hh:mm:ss 
      String output ="Welcome to the All-Stars Summit Registration Site, Canada"; 
      if (Date().getTime() > Date("2015-07-15 23:59:00").getTime()) 
       { 
        output ="The All-Stars Summit Registration Site, Canada, is now closed"; 
       } 
     document.getElementById('header').innerHTML = output; //change the html/text inside of the span with the id closed'. 
     } 

    setDateChange(); 

    //figure out which date is next 
    //********************* 
    var timeTillNextDate = Date("2015-07-15 23:59:00").getTime(); 
    var timeTillRun = Date("2015-07-15 23:59:00").getTime() - Date().getTime(); 
    if(timeTillRun > 0){ 
     setTimeout(setDateChange()), timeTillNextDate); //will wait to call changeHeader function until timeTillChange milliseconds have occured. 
    } 
    </script> 

的的jsfiddle链接是在这里:JSFiddle Code

回答

1

你需要做一些修改错误

  1. 变化Date()固定到new Date()无论在何处使用。
  2. 删除多余的括号。修改

setTimeout(setDateChange()),timeTillNextDate);

setTimeout(setDateChange(),timeTillNextDate);

  • String不在JS数据类型。因此,将其更改为var
  • String outputvar output

    0

    可否请您更换所有Date()有:

    (new Date()) 
    

    由于大部分的功能上工作objectclass。例如:

    var timeTillNextDate = (new Date("2015-07-15 23:59:00")).getTime(); 
    var timeTillRun = (new Date("2015-07-15 23:59:00")).getTime() - (new Date()).getTime(); 
    
    1

    替换Date()(new Date())作为@PraveenKumar曾建议。

    随着你在这里

    String output ="Welcome to the All-Stars Summit Registration Site, Canada";

    一个语法错误,它应该是,

    var output ="Welcome to the All-Stars Summit Registration Site, Canada";

    检查javaScript Strings

    而且还setTimeout(setDateChange(), timeTillNextDate)应该setTimeout(setDateChange, timeTillNextDate)

    最后的js代码的样子,

    document.onload = setDateChange(); 
    
          function setDateChange(){ 
           // datestring format yyyy-mm-dd hh:mm:ss 
           var output ="Welcome to the All-Stars Summit Registration Site, Canada"; 
           if (new Date().getTime() > (new Date("2015-07-15 23:59:00").getTime())) 
            { 
             output ="The All-Stars Summit Registration Site, Canada, is now closed"; 
            } 
          document.getElementById('header').innerHTML = output; //change the html/text inside of the span with the id closed'. 
          } 
    
         setDateChange(); 
    
         //figure out which date is next 
         //********************* 
         var timeTillNextDate = (new Date("2015-07-15 23:59:00")).getTime(); 
         var timeTillRun = (new Date("2015-07-15 23:59:00")).getTime() - (new Date()).getTime(); 
         if(timeTillRun > 0){ 
          setTimeout(setDateChange, timeTillNextDate); //have occured. 
         }