@Speakermen

Почему календарь пролистывается один раз и всё?

Доброго времени суток не пойму почему по клику отрабатывает только один раз



const nextMonth = () => {
    nowDate.setMonth(nowDate.getMonth() + 1);
    currDay = nowDate.getDate();
    currMonth = nowDate.getMonth();
    currYear = nowDate.getFullYear();

    createCalendar();

$("prev").addEventListener("click", prevMonth, false);
  $("next").addEventListener("click", nextMonth, false);
  };


Старался сделать код более читабельным но while, for заменить на map filter reduce не получилось(

onst calendarWeekdays = () => {
    return `<tr class="days">
  ${days.map((day) => "<th>" + day + "</th>").join("")}
</tr>`;
  };
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
удивительно что и 1 раз работает...

$("prev").addEventListener("click", prevMonth, false);
  $("next").addEventListener("click", nextMonth, false);

$("next") - Это что такое? Если следовать правилам, то это "next" это селектор по тэгу. Такого тега не существует.

Аааааа.... Вы решили а почему бы не сделать свою функцию, которая ищёт по id и не назвать её так же как jQuery, чтобы понятно это было только Вам...

Короче у Вас поиск по id который должен быть уникальным на странице.
Обработчик вешается только на первый элемент. Соответственно, работают только стрелочки первого месяца.
Исправляйте на поиск по классу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы