2013-07-14 3 views
1

이 스크립트를 사용하여 캘린더를 표시하려고하는데 오류 콘솔에 "캘린더가 정의되지 않았습니다."라고 표시됩니다. 나는 그것이 무엇이 잘못되었는지 알아낼 수 없다. 어쩌면 넣어 존 WHS자바 스크립트 기능에 문제가 있습니까?

function calendar() 
{ 

var calDate = new Date("July 6, 2015"); 
    document.write("<table id = 'calendar_table'>"); 
writeCalTitle(calDate); 
    writeDayNames(); 
writeCalDays(calDate); 

    document.write("</table>"); 

} 


    //function for the title of the calendar 
    //the parameter is a date object 
    function writeCalTitle(calendarDay) 
    { 

     // This is an array for the months 
     var monthName = ["January","February","March","April","May","June","July","August" 
     ,"September","October","November","December"] 

     var thisMonth = calendarDay.getMonth(); 
     var thisYear = caalendarDay.getFullYear(); 

     document.write("<tr>"); 
     document.write("<th id='calendar_head' colspan='7'>"); 
     document.write(monthName[month] + " " +year); 

     document.write("</th>"); 
     document.write("</tr>"); 
    } 

    function writeDayNames() 
{ 
    var dayName = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 
    document.write("<tr>"); 
    // This is a for loop 
    for(var i = 0; i<dayName.length; i++) 
     { 
     document.write("<th id='calendar_weekdays'>" + dayName[i]+"</th>"); 
     } 

    document.write("</tr>"); 
} 


function daysInMonth(calendarDay) 
{ 
var dayCount = [31,28,31,30,31,30,31,31,30,31,30,31]; 
var thisYear = calendarDay.getFullYear(); 
var thisMonth = calendarDay.getMonth(); 
if (thisYear % 4 == 0) 
    { 

    if ((thisYear % 100 != 0 || (thisYear % 400 ==0)) 
    { 
    dayCount[1] = 29; 
    } 
} 
return dayCount[thisMonth]; 
} 



function writeCalDays(calendarDay) 
    { 
    // says the starting day of the month 
    var day = new Date(calendarDay.getFullYear(), calendarDay.getMonth(), 1); 
    var weekDay = day.getDay(); 

    // writes blank cells before the starting day 
    document.write("<tr>"); 
    for (var i = 0; i < weekDay; i++) 
     { 
     document.write("<td></td>"); 
     } 

    // writes cells for the days of the month 
    var totalDays = dayIn Month(calendarDay); 

    for (var i = 1; i<= totalDays; i++) 
     { 
     day.setDate(i); 
     weekDay = day.getDay(); 
     } 
    if (weekDay == 0) document.write("<tr>"); 
    document.write("<td class='calendar_dates'>" + i + "</td>"); 
    if (i == highlightDay) 
     { 
     document.write("<td class='calendar_dates' id='calendar_today'>" + i + "</td>"); 
     } 
     else 
     { 
     document.write("<td class='calendar_dates'>" + i + "</td>"); 
     } 

    if (weekDay == 6) document.write("</tr>"); 


    } 
+0

해당 코드는 어디에 있습니까? – SLaks

+2

함수 정의가'

0

함수 선언도 스크립트로 간주되어야합니다. 따라서 ...

<figure id="events"> 
<script type="text/javascript"> 

    function calendar() 
    { 

     var calDate = new Date("July 6, 2015"); 
     document.write("<table id = 'calendar_table'>"); 
     writeCalTitle(calDate); 
     writeDayNames(); 
     writeCalDays(calDate); 

     document.write("</table>"); 

    } 

    calendar(); 

</script> 
</figure> 

... 더 나은 결과를 제공해야합니다.

+0

John WHS 고마워요, 바뀌 었습니다 ... 캘린더를 보여주지 못했습니다 ... – rikeerik

+0

글쎄, 먼저 테이블을 여는 중이지만 행이나 셀을 사용하지는 않습니다. 'write *'함수의 코드를 보여주고 가장 중요한 것은 여러분 페이지의 소스 코드를 확인하십시오. 어쩌면 코드 **가 생성되었지만, 브라우저의 해석이 실패 했어도 ^^ –

+0

소스 코드에서 무엇을 찾고 있습니까? – rikeerik

0

코드는 <script> 태그 안에 있거나 <script src="...">을 통해로드해야합니다.

+0

나는 메모장 ++를 사용하고 .js 파일 안에 '을 통해 HTML로로드해야합니다. –

관련 문제