2012-01-25 26 views
0

以下是我的代碼,用於顯示今天使用date.gettime方法評估時間的日曆。 refreshtime()函數使時間動態,但它不起作用。爲什麼?如何使用Javascript時間()?

<html> 
<head> 
<script type="text/javascript"> 
    function refreshtime() { 
     var timeis=gettime() 
     document.getElementById("clock").innerHTML=timeis 
    } 

    function gettime() { 
     var time=new Date() 
     var hour=time.getHours() 
     if(hour<12) 
      var ampm="am" 
     else 
      ampm="pm" 
     var minute=time.getMinutes() 
     var seconds=time.getSeconds() 
     var text=hour+':'+ minute+':'+seconds+ampm 
     return text 
    } 
    function nameofmonth(month) { 
     var monthname=new Array("January","February","March","April","May","June","July","August","September","October","November","December") 
     return monthname[month] 
    } 
    function monthdays(month,year) { 
     var daysofmonth=new Array(31,28,31,31,30,31,31,31,30,31,30,31) 
     if(year%4==0) 
      daysofmonth[1]=29 
     return daysofmonth[month] 
    } 
    function table() { 
     var now=new Date() 
     var hour=now.getHours() 
     var minute=now.getMinutes() 
     var second=now.getSeconds() 
     var date=now.getDate() 
     var month=now.getMonth() 
     var year=now.getFullYear() 
     now.setFullYear(year,month,1) 
     var firstday=now.getDay() 
     var monthname=nameofmonth(month) 
     var daysofmonth=monthdays(month,year) 
     if(firstday>0) 
      var k=-(firstday-1) 
     else 
      k=1 
     var table="<table border=5 cellspacing=9 cellpadding=17>" 
     table +="<th colspan=7>"+monthname+" "+date+"th</th>" 
     table +="<tr><th>sun</th><th>mon</th><th>tue</><th>wed</th><th>thu</th><th>fri</><th>sat</th></tr>" 
     for(var i=0;i<5;i++) { 
      table+="<tr>" 
      for(var j=0;j<7;j++) { 
       if(k<=daysofmonth && k>0) { 
        if(k==date) 
         table+='<td id="clock" bgcolor="aqua">'+k+'<br>'+gettime()+ '</td>' 
        else 
         table+='<td>'+k+'</td>' 
        k=parseInt(k) 
       } 
       else 
        table+="<td></td>" 
       k++ 
      } 
      table+="</tr>" 
     } 
     table+="</table>" 
     document.write(table) 
    }  
</script> 
</head> 
<body onload="table();setInterval('refreshtime()',1000)") 
</body > 
</html> 
+0

歡迎來到StackOverflow sovon。我對你的問題做了一些修改,使其更加清晰,讓我知道我是否搞砸了。你應該通過[jsFiddle](http://jsfiddle.net/)運行你的代碼,它會幫你清理一些代碼。 – AlG

回答

0

應該可以正常工作。在jsfiddle中看起來不錯:http://jsfiddle.net/JVvXs/

如果你在IE中測試,你應該在表中添加一個tbody標籤。

0

您的table() - 功能清除當前文檔並覆蓋所有原始HTML及其所有內容。只有在新文檔中留下的是由table()創建的HTML。

您應該使用document.write()-方法從不同的框架,或通過飛行創建整個HTML文檔。

相關問題