Я ищу, чтобы попробовать добавить клавиатуру, используя плагины Waypoints и Stellar jQuery. У меня есть плавная прокрутка всей настройки, поэтому, когда вы нажимаете на ссылку, вы попадаете в соответствующую позицию слайда данных.Smooth Scroll with Keyboard Navigation
Я пытаюсь реализовать навигация клавиатуры, чтобы при нажатии клавиш вверх и вниз вы переходите к следующему или предыдущему слайду данных. Я думал, что я на правильном пути, но, похоже, не собираюсь вместе.
Похоже, что я получаю функцию keydown, чтобы работать надлежащим образом, но просто не прокручиваем соответствующую позицию слайда данных.
Любая помощь будет очень признательна! Благодаря!
Точку/Smooth Scroll Nav
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);
});
Мой код для клавиатуры Nav:
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();
}
});
Это тоже мое беспокойство. Следил за текущим каталогом данных. Разве это не то, что происходит здесь: 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'); } Так, например, они используют следующую или предыдущую функцию, чтобы определить, какой слайд для яблока также активное. Не будет ли такой же принцип применяться к прохождению следующего и предыдущего слайдов. Но как мы передаем это в функцию прокрутки? –
Если это так, а файл данных - ваша переменная отслеживания, то посмотрите на обработчик клавиатуры - передайте 'dataslide' в свою функцию прокрутки в манипуляторе. Вы ничего не пропускаете - вы просто вызываете getobyscroll() без необходимого аргумента. –