Я хочу попробовать добавить навигацию с помощью клавиатуры с помощью плагинов Waypoints и Stellar jQuery. У меня есть плавная прокрутка всех настроек, так что, когда вы нажимаете на ссылку, вы попадаете в соответствующую позицию слайда данных.
Я пытаюсь реализовать навигацию на клавиатуре, чтобы при нажатии клавиш вверх и вниз вы переходили к следующему или предыдущему слайду данных. Я думал, что я на правильном пути, но, похоже, не сходится.
Похоже, я заставляю функцию нажатия клавиши работать должным образом, но не прокручиваю до соответствующей позиции слайда данных.
Любая помощь будет принята с благодарностью! Спасибо!
Путь/Плавная прокрутка навигации
slide.waypoint(function (event, direction) {
dataslide = $(this).attr('data-slide');
if (direction === 'down') {
$('.navigation li[data-slide="' + dataslide + '"]').addClass('active').prev().removeClass('active');
}
else {
$('.navigation li[data-slide="' + dataslide + '"]').addClass('active').next().removeClass('active');
}
});
mywindow.scroll(function () {
if (mywindow.scrollTop() == 0) {
$('.navigation li[data-slide="1"]').addClass('active');
$('.navigation li[data-slide="2"]').removeClass('active');
}
});
function goToByScroll(dataslide) {
htmlbody.animate({
scrollTop: $('.slide[data-slide="' + dataslide + '"]').offset().top
}, 2000, 'easeInOutQuint');
}
links.click(function (e) {
e.preventDefault();
dataslide = $(this).attr('data-slide');
goToByScroll(dataslide);
});
button.click(function (e) {
e.preventDefault();
dataslide = $(this).attr('data-slide');
goToByScroll(dataslide);
});
Мой код для навигации с помощью клавиатуры:
mywindow.keydown(function(e) {
if(e.keyCode == 40) { //DOWN
e.preventDefault();
alert('Down Arrow Has Been Pressed');
goToByScroll();
}
else if (e.keyCode == 38) { //UP
e.preventDefault();
alert('Up Arrow Has Been Pressed');
goToByScroll();
}
});