Ответы пользователя по тегу JavaScript
  • Совместим ли Next.js c jQuery?

    moryachello
    @moryachello
    Всего понемножку, много не бывает.
    да, совместим))
    Ответ написан
    Комментировать
  • Как получить данные из переменной в методе класса?

    moryachello
    @moryachello
    Всего понемножку, много не бывает.
    class MyClass {
      constructor() {
        this.buttons = document.querySelectorAll('.btn');
        this.onClick = this.onClick.bind(this);
      }
    
      onChange(callback) {
        this.callback = callback;
        this.buttons.forEach((button) => {
          button.addEventListener('click', this.onClick);
        });
      }
    
      onClick(event) {
        const buttonText = event.target.textContent;
        this.callback(buttonText);
      }
    }
    
    const myInstance = new MyClass();
    
    myInstance.onChange((text) => {
      alert(`Выбрана кнопка: ${text}`);
    });
    Ответ написан
    Комментировать
  • Как задать условия для промежутков времени в js?

    moryachello
    @moryachello
    Всего понемножку, много не бывает.
    Ты проверяешь конкретные минуты или всё-таки интервал времени?
    будет достаточно, например С 9:00 до 10:59
    if (hour >= 9 && hour <= 10) {
      // код, который нужно выполнить в этот промежуток времени
    }


    а если все же нужно проверять конкретные минуты то можно так
    if (hour === 9 && minute >= 0 || hour === 10 && minute <= 59) {
      // код, который нужно выполнить в этот промежуток времени
    }
    Ответ написан
    Комментировать
  • Почему не переключаются табы?

    moryachello
    @moryachello
    Всего понемножку, много не бывает.
    // получаем массив всех вкладок
    const tabs = document.querySelectorAll(".tab");
    // получаем массив всех блоков с содержимым вкладок
    const contents = document.querySelectorAll(".content");
    
    // запускаем цикл для каждой вкладки и добавляем на неё событие
    for (let i = 0; i < tabs.length; i++) {
      tabs[i].addEventListener("click", (event) => {
    
        // сначала нам нужно удалить активный класс именно с вкладок
        let tabsChildren = event.target.parentElement.children;
        for (let t = 0; t < tabsChildren.length; t++) {
          tabsChildren[t].classList.remove("tab--active");
        }
        // добавляем активный класс
        tabs[i].classList.add("tab--active");
        // теперь нужно удалить активный класс с блоков содержимого вкладок
        for (let c = 0; c < contents.length; c++) {
          contents[c].classList.remove("content--active");
        }
        // добавляем активный класс
        contents[i].classList.add("content--active");
    
      });
    }
    Ответ написан
    1 комментарий
  • Кто встречал такую карусель?

    moryachello
    @moryachello
    Всего понемножку, много не бывает.
    Комментировать