Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function calendar(arr) {
- let monthNames = ["January", "February", "March", "April", "May", "June",
- "July", "August", "September", "October", "November", "December"
- ];
- let selector = $('#content');
- let day = Number(arr[0]);
- let month = Number(arr[1]);
- let year = Number(arr[2]);
- let table = $('<table>');
- let caption = $('<caption>').text(`${monthNames[month - 1]} ${year}`);
- let tbody = $('<tbody>');
- let trDays = $('<tr>');
- for (let i = 0; i < 7; i++) {
- let th = $('<th>').text(calcDay(i));
- trDays.append(th);
- }
- table.append(caption);
- tbody.append(trDays);
- let days = daysInMonth(month, year);
- let firstDay = new Date(year, month - 1, 1).getDay();
- let countDays = 1;
- let whenToStart = false;
- console.log(firstDay);
- console.log(days);
- while (true) {
- if (countDays > days) {
- break;
- }
- let tr = $('<tr>');
- for (let i = 1; i <= 7; i++) {
- let td = $('<td>');
- if(day === countDays){
- $(td).css('background-color', 'orange');
- }
- if (Number(firstDay) === i) {
- whenToStart = true;
- }
- if (countDays <= Number(days) && whenToStart === true){
- td.text(countDays);
- countDays++;
- }
- tr.append(td);
- }
- tbody.append(tr);
- }
- table.append(tbody);
- table.appendTo(selector);
- function calcDay(num) {
- let day;
- switch (num) {case 0:day = 'Mon';break;
- case 1:day = 'Tue';break;
- case 2:day = 'Wed';break;
- case 3:day = 'Thu';break;
- case 4:day = 'Fri';break;
- case 5:day = 'Sat';break;
- case 6:day = 'Sun';break;
- }
- return day;
- }
- function daysInMonth(m, y) {
- return new Date(y, m, 0).getDate();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement