Задать вопрос
@ligisayan

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

Всем привет!
Есть блок с календарем, где внутри тега

<div class="dopbsp-month-year">April 2019</div>

выводится месяц и год (подтягивается с объекта Date) начиная с текущего.
Кнопка с классом .dopbsp-next-btn сдвигает календарь вместе с датами и событиями на месяц вперед (May 2019, June 2019), все стандартно.

Я хочу настроить чекбокс id="autumn-check" таким образом, чтобы сдвиг был на осенний месяц.
Условие if выполняется, Пробую сделать через setInterval(), но после первой итерации .dopbsp-next-btn сразу выходит из цикла.

В чем проблема и как исправить?

Код:
$("#autumn-check").click(function() {
  if ($(this).is(':checked')) {
    var month = $(".dopbsp-month-year").text().split(' ')[0];
    var checkAutumn = setInterval(function() {
        if (month !== "September" || month !== "October" || month !== "November") {
        $(".dopbsp-next-btn").click();
        month = $(".dopbsp-month-year").text().split(' ')[0];
        console.log(month);
        clearInterval(checkAutumn);
       }
     }, 100);
   }
});


<p><input type="checkbox" id="autumn-check" name="autumn"><label for="autumn">Autumn</label></p>
<div class="container">
<div class="dopbsp-month-year">April 2019</div>
<a href="javascript:void(0)" class="dopbsp-next-btn"><span class="dopbsp-info">Next month</span></a>
</div>
  • Вопрос задан
  • 40 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
1. код с ошибками - отсутствует закрывающий тег }
2. проще использовать $("#autumn-check:not(:checked)")
3. Какой смысле в двойном
month = $(".dopbsp-month-year").text().split(' ')[0];
?
Ответ написан
Ваш ответ на вопрос

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

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