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

Как отследить нажатия клавиш?

Доброго дня. Был написан самодельный поблочный скролл. Сейчас он отрабатывает по событию колеса мыши, необходимо, чтоб скролл также работал по стрелкам вверх/вниз

var num = 1;
      var scrolling = false;

      function scroll(event) {
        var steps = $('section[class^="num"], section[class*=" num"]').length;
        event.preventDefault();
        if (!scrolling && $('.num' + (steps + 2)).length === 0) {
          scrolling = true;
          if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) {
            num--;
            num = num < 1 ? 1 : num;
          } else {
            num++;
            num = num > (steps + 1) ? (steps + 1) : num;
          }

          $('html, body').animate({
            scrollTop: $('.num' + num).offset().top
          }, 500, "linear", function () {
            scrolling = false;
           });
        }
      }

       $(document).bind('mousewheel DOMMouseScroll', function (event) {
        scroll(event);
      });
  • Вопрос задан
  • 195 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@xakslim Автор вопроса
$('body').keydown(function (event) {
        if (event.keyCode === 38) {
          event.originalEvent.wheelDelta = 120;
          scroll(event);
        }
        else if (event.keyCode === 40) {
          event.originalEvent.wheelDelta = -120;
          scroll(event);
        }
      });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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