Показать сообщение отдельно
  #7 (permalink)  
Старый 25.09.2019, 21:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,135

Сообщение от m~r.Nemo
почему я вижу пустую страницу?
потому что вы ничего на страницу не добавили.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
</style>
</head>
<body>
<script>
function monthTable(month, year) {
    const monthNames = [
        'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь',
        'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'
    ];

    let calendar =  { 0: ['Вс'], 1: ['Пн'], 2: ['Вт'], 3: ['Ср'], 4: ['Чт'], 5: ['Пт'], 6: ['Сб'] };

    const now = new Date();
    const m = month ? month - 1 : now.getMonth();
    const y = year ? year : now.getFullYear();



    const days = new Date(y, m + 1, 0).getDate();

    let week = 1;
    let start = new Date(y, m, 1).getDay();
    for (let i = 0; i < days; i++) {
        if (start % 7 === 1 && i > 0) {
            week++;
        }
        if (calendar[start % 7].length !== week) {
            calendar[start % 7].push('  ');
        }
        if (i < 9) {
            calendar[start % 7].push(` ${i + 1}`);
        } else {
            calendar[start % 7].push(i + 1);
        }
        start++;
    }
    let txt = `${monthNames[m]}, ${y}`;
    for (let i = 1; i < 8; i++) {
        txt += `<br> ${calendar[i % 7].join(' ')}`;
    }
    return  txt
}
document.body.insertAdjacentHTML('beforeend', monthTable(5, 2015)+'<br>')
document.body.insertAdjacentHTML('beforeend', monthTable(2, 2020)+'<br>');
document.body.insertAdjacentHTML('beforeend', monthTable());
</script>
</body>
</html>
Ответить с цитированием