2016-08-22 9 views
1

Я пытаюсь прыгать вверх и вниз по стрелке. Мне просто нужно вызвать щелчок на следующем или предыдущем элементе каждый раз при нажатии стрелки вверх или вниз, но jQuery не подходит. , ,переход к предыдущему или следующему элементу при нажатии клавиши вверх или вниз с помощью jQuery

$('body').on("keyup", function(e) { 

       var code = e.which; 
       if (code == 40) { 

       e.preventDefault();  
       // down here 
       $('.cv_item').next().trigger("click"); 

       } else if (code == 38) { 

       e.preventDefault();  
       // up here 
      $('.cv_item').previous().trigger("click"); 
       } 
      }); 

ОБНОВЛЕНО: FIDDLE

ответ

2
  1. Так предыдущий() должны быть пред().
  2. Вы должны сохранить свой текущий активный элемент для перехода к следующему или предыдущему одной
  3. А вот как вызвать щелчок по ссылке: jQuery.trigger('click') not working

И JSFIDDLE:

$currentLi = $('.cv_item').last().closest('li'); 

$('body').on("keyup", function(e) {    
    var code = e.which; 

    if (code == 40) { 
     e.preventDefault();  
     // down here 
     $currentLi = $currentLi.next(); 
     if ($currentLi.length==0) 
     $currentLi = $('.cv_item').first().closest('li'); 

     $('.cv_item').removeClass('active-link'); 

     $link = $currentLi.find('.cv_item'); 
     $link.addClass('active-link');  
     $link[0].click(); 

     } else if (code == 38) { 
     e.preventDefault();  
     // up here 
     $currentLi = $currentLi.prev(); 
     if ($currentLi.length==0) 
     $currentLi = $('.cv_item').last().closest('li'); 

     $('.cv_item').removeClass('active-link'); 

     $link = $currentLi.find('.cv_item'); 
     $link.addClass('active-link');  
     $link[0].click(); 

    } 
}); 

Обновление: Сценарий изменился, чтобы добавить класс CSS в элемент <a>, а определение класса прост:

a.active-link { 
    color: #0f0; 
} 
+0

Is is great, но не показывает, что является активным, я попытался добавить класс в currentLi, но не работал. – Kez

 Смежные вопросы

  • Нет связанных вопросов^_^