2012-01-25 2 views
0

아래는 오늘 date.gettime 메서드를 사용하여 시간을 평가하는 캘린더를 표시하는 코드입니다. refreshtime() 함수는 시간을 동적으로 만들지 만 작동하지 않습니다. 왜?Javascript time()을 사용하는 방법?

<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

Welcome to StackOverflow sovon. 귀하의 질문에 약간의 재 작업을하여 좀 더 명확하게 만들었습니다. 만약 내가 그것을 엉망으로 만든다면 알려주십시오. [jsFiddle] (http://jsfiddle.net/)을 통해 코드를 실행하면 코드를 정리하는 데 도움이됩니다. – AlG

답변

0

잘 작동해야합니다. jsfiddle에서 잘 보입니다 : http://jsfiddle.net/JVvXs/

IE에서 테스트하는 경우 테이블에 tbody 태그를 추가해야합니다.

0

table() -function은 현재 문서를 지우고 모든 원본 HTML과 그 내용을 덮어 씁니다. 새 문서에 남아있는 것은 table()으로 생성 된 HTML입니다.

다른 프레임에서 document.write() -method를 사용하거나 전체 HTML 문서를 빠르게 만들어야합니다.

관련 문제