1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| function addCalendar(container){
//get dates
var today = new Date();
var day = today.getDay()
var date = today.getDate();
var month = today.getMonth();
var year = today.getFullYear();
var first = new Date();
first.setDate(1);
var startDay = first.getDay();
var dayLabels = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
var monthLengths = [31,28,31,30,31,30,31,31,30,31,30,31];
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var dayNames = ['Sat', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri'];
var current = 1 - startDay;
//assemble calendar
var calendar = '<label class="date"></label><label class="month">'+monthNames[month]+'</label> <label class="year">'+year+'</label>';
calendar += '<table><tr>';
dayLabels.forEach(function(label){
calendar += '<th>'+label+'</th>';
})
calendar += '</tr><tr>';
var dayClasses = '';
while( current <= 30){
if (current > 0){
dayClasses = '';
today.setDate(current);
if (today.getDay() == 0 || today.getDay() == 6){
dayClasses += ' disabled';
}
if (current < date){
dayClasses += ' disabled';
}
if (current == date){
dayClasses += ' today';
}
calendar += '<td class="'+dayClasses+'" data-day="'+dayNames[(current + startDay)%7]+'">'+current+'</td>';
} else {
calendar += '<td></td>';
}
if ( (current + startDay) % 7 == 0){
calendar += '</tr><tr>';
}
current++
}
calendar += '</tr></table>';
container.html(calendar);
invokeCalendarListener();
} |
Partager