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

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

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

<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?
  • Вопрос задан
  • 206 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 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) Чуток разобраться - а часто ли будет использоваться сия функциональность, учитывая что рядовой пользователь при нажатии этих кнопок(если вобще их использует) ожидает легкого скролирования.
Ответ написан
Ваш ответ на вопрос

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

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