Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2019, 19:46
Аватар для m~r.Nemo
Аспирант
Отправить личное сообщение для m~r.Nemo Посмотреть профиль Найти все сообщения от m~r.Nemo
 
Регистрация: 27.10.2012
Сообщений: 80

почему не работает скрипт?
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();

  console.log(`${monthNames[m]}, ${y}`);
  console.log();

  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++;
  }

  for (let i = 1; i < 8; i++) {
    console.log(calendar[i % 7].join(' '));
  }
}

monthTable(5, 2015);
console.log();
monthTable(2, 2020);
console.log();
monthTable();
Ответить с цитированием
  #2 (permalink)  
Старый 25.09.2019, 20:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

m~r.Nemo,
работает.
Ответить с цитированием
  #3 (permalink)  
Старый 25.09.2019, 20:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

m~r.Nemo,
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 += `\n ${calendar[i % 7].join(' ')}`;
  }
  return  txt
}

console.log(monthTable(5, 2015));
console.log(monthTable(2, 2020));
console.log(monthTable());
Ответить с цитированием
  #4 (permalink)  
Старый 25.09.2019, 20:44
Аватар для m~r.Nemo
Аспирант
Отправить личное сообщение для m~r.Nemo Посмотреть профиль Найти все сообщения от m~r.Nemo
 
Регистрация: 27.10.2012
Сообщений: 80

рони,
<!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 += `n ${calendar[i % 7].join(' ')}`;
  }
  return  txt
}

console.log(monthTable(5, 2015));
console.log(monthTable(2, 2020));
console.log(monthTable());
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 25.09.2019, 20:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

m~r.Nemo,
в чём проблема?
Ответить с цитированием
  #6 (permalink)  
Старый 25.09.2019, 20:58
Аватар для m~r.Nemo
Аспирант
Отправить личное сообщение для m~r.Nemo Посмотреть профиль Найти все сообщения от m~r.Nemo
 
Регистрация: 27.10.2012
Сообщений: 80

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

Сообщение от 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>
Ответить с цитированием
  #8 (permalink)  
Старый 25.09.2019, 21:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

m~r.Nemo,
Изменение документа
Ответить с цитированием
  #9 (permalink)  
Старый 25.09.2019, 21:16
Аватар для m~r.Nemo
Аспирант
Отправить личное сообщение для m~r.Nemo Посмотреть профиль Найти все сообщения от m~r.Nemo
 
Регистрация: 27.10.2012
Сообщений: 80

рони,
всё равно страница белая как снег, может из-за браузера?
Mozilla/5.0 (Linux; Android 4.4.2; HUAWEI Y360-U61 Build/HUAWEIY360-U61) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36 ?
Ответить с цитированием
  #10 (permalink)  
Старый 25.09.2019, 21:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

Сообщение от m~r.Nemo
может из-за браузера?
может.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает скрипт? razorg1991 Элементы интерфейса 6 26.09.2013 15:30
Имеется скрипт калькулятора - не пойму почему не работает tishkovav AJAX и COMET 4 15.02.2012 15:21
Не работает скрипт в дальней директории Raonde Общие вопросы Javascript 3 30.01.2012 09:15
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
Почему не работает скрипт? milvic Общие вопросы Javascript 3 03.03.2008 14:12