Как вы называете функцию колеса каждые несколько минут или каждые несколько секунд? - PullRequest
0 голосов
/ 06 ноября 2019

Я новичок в JavaScript, и мне удалось создать это событие колеса, но оно продолжает срабатывать, что приведет меня к другому элементу и пролистает следующий, поскольку я использую nextElementSibling.

IЯ пытался регулировать его, но не добился успеха, поскольку я еще недостаточно хорош в JS и хочу узнать больше.

var scrollableElement = document.querySelector('body');

scrollableElement.addEventListener('wheel', findScrollDirectionOtherBrowsers);

function findScrollDirectionOtherBrowsers(event) {
  var delta;
  var aktiv = document.querySelector('.swap');

  if (event.wheelDelta) {
    delta = event.wheelDelta;
  } else {
    delta = -1 * event.deltaY;
  }

  if (delta < 0) {
    aktiv.nextElementSibling.classList.toggle('swap')
    aktiv.classList.toggle('swap')
  } else if (delta > 0) {
    aktiv.previousElementSibling.classList.toggle('swap')
    aktiv.classList.toggle('swap')
  }
}

Так что результат должен переключаться .swap, как только функциясработал как минимум 2 с назад или сработал 3-4 раза. Это то, что я ожидаю, но, возможно, у вас может быть даже лучшее решение для меня? Это было бы круто! Спасибо большое за вашу помощь! :)

1 Ответ

0 голосов
/ 07 ноября 2019

Я просто добавил счетчик, чтобы это произошло. Пока работает отлично.

var scrollableElement = document.querySelector('body');
//new
var i = 0;

scrollableElement.addEventListener('wheel', findScrollDirectionOtherBrowsers);

function findScrollDirectionOtherBrowsers(event) {
  var delta;
  var aktiv = document.querySelector('.swap');

  if (event.wheelDelta) {
    delta = event.wheelDelta;
    //new
    i++;
  } else {
    delta = -1 * event.deltaY;
  }
  //new && i > 15 and set back to 0
  if (delta < 0 && i > 15) {
    i = 0;
    aktiv.nextElementSibling.classList.toggle('swap')
    aktiv.classList.toggle('swap')
  //new && i > 15 and set back to 0
  } else if (delta > 0 && i > 15) {
    i = 0;
    aktiv.previousElementSibling.classList.toggle('swap')
    aktiv.classList.toggle('swap')
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...