2012-01-24 76 views
0
<html> 
<head> 
<script type="text/javascript"> 
function gettime() 
{ 
    var time=new Date() 
    var hour=time.getHours() 
    var minute=time.getMinutes() 
    var text=hour+':'+ minute 
    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=13>" 
     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><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 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()"> 
</body > 
</html> 

這是我一個月的完整的代碼也calender.it時間顯示今天的date.the GETTIME函數返回當前時間。但時間是statik.To讓時間動態我應該怎麼辦?請幫助...儘快我怎樣才能讓我的數字時鐘動態?看看我的代碼

+1

'一年%4 == 0'不足以測試是否一年是閏年。 – ThiefMaster

+1

@ThiefMaster:直到2100年他們才安全。 – georg

回答

0

添加<div id='clock'></div>到文檔中。在table()替換文件撰寫與

document.getElementById("clock").innerHTML = table 

寫一個單獨的onload功能,在此功能使用setInterval以定期調用table()

+0

工作!!謝謝 – sovon

0

如果我理解你的問題,那麼你需要這個。首先你

table+='<td bgcolor="aqua">'+k+'<br>'+gettime()+ '</td>' 

線改爲

table+='<td id="myclock" bgcolor="aqua">'+k+'<br>'+gettime()+ '</td>' 

並添加其他功能

function refreshtime() 
{ 
    var timeis=gettime(); 
    document.getElementById('myclock').innerHTML=timeis; 
} 

然後改變你的<body onload="table()">

<body onload='table();setInterval(refreshtime,500);'> 

希望這是你想要的。這隻會更新你的時間。

+0

呃,傳遞一個字符串到'setInterval' ... – ThiefMaster

+0

對不起!我錯了嗎 ?我已經在我的本地主機上測試過了。 –

+1

這只是很糟糕的編碼風格,因爲它就像使用'eval'一樣。你可以傳遞一個函數:'setInterval(refreshtime,500);' – ThiefMaster