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

Как сделать навигацию по меню с помощью клавиш?

Всем привет! Есть меню:

<ul>
 <li>пункт 1</li>
 <li>пункт 2</li>
 <li>пункт 3</li>
 <li>пункт 4</li>
</ul>

Есть стили:

li
{
 cursor:pointer;
 font-size:126%;
 text-align:left;
 width:99%;
 border-radius: 5px;
 padding:2%;
 margin:2%;
 border: 1px solid rgb(200,200,250);
}
li:hover
{
 background: rgb(100,200,150);
}


Как теперь сделать навигацию по этому меню с помощью клавиш вверх-вниз на jquery?
  • Вопрос задан
  • 231 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Примерно так: jsfiddle.net/IonDen/0hk6bhms
var $menu = $('.menu'),
    $items = $menu.find('li'),
    num = $items.length,
    current = -1;

$(document).on('keyup', function (e) {
    var key = e.which;
    
    switch (key) {
        case 38:
            current--;
            if (current < 0) {
                current = num - 1;
            }
            
            break;
            
        case 40:
            current++;
            if (current > num - 1) {
                current = 0;
            }
            
            break;
    };
    
    $items.eq(current).addClass('active').siblings().removeClass('active');
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dmitryKovalskiy
программист средней руки
1) Ловить события keyPress, keyUp и уточнить во время разработки коды нужных вам клавиш
2) Чуток разобраться - а часто ли будет использоваться сия функциональность, учитывая что рядовой пользователь при нажатии этих кнопок(если вобще их использует) ожидает легкого скролирования.
Ответ написан
Ваш ответ на вопрос

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

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