Переход к следующему или предыдущему тегу привязки (на мобильном телефоне) при нажатии кнопки
У меня есть 5-6 разделов формы в моем веб-приложении. Чтобы упростить навигацию на мобильных устройствах, я добавил стрелки вверх и вниз в нижней части экрана. Когда пользователь нажимает одну из этих клавиш, я хочу, чтобы они переходили в раздел выше или ниже соответственно.
Я попытался реализовать эту функцию с помощью WayPoints ( https://github.com/imakewebthings/waypoints), как показано в приведенном ниже коде, но кнопки "вверх" и "вниз" не работают должным образом (и вообще не обновляются на мобильном устройстве!)
Структура формы разделов:
<div id="section-1" class="nav-section"></div>
<div id="section-2" class="nav-section"></div>
<div id="section-3" class="nav-section"></div>
...
И у меня есть две кнопки в нижней панели:
<button id="jump-section-up"><a href="#">Up</a></button>
<button id="jump-section-down"><a href="#">Down</a></button>
Я получаю все элементы, которые мне нужны, чтобы перейти к использованию:
$(".nav-section").each(function(){
sections.push(this.id);
});
когда документ загружается в первый раз.
Использование путевых точек
waypoints = $(".nav-section").waypoint(function(direction){
//Clear the previous hash (if any)
history.pushState("", document.title, window.location.pathname + window.location.search);
var cur=0, prev=0, next=0,
cur = jQuery.inArray($(this.element).attr("id").toString(), sections);
if(cur>0){
prev=cur-1;
}
else{
prev=0;
}
if(cur==sections.length-1){
next=cur;
}
else{
next=cur+1;
}
$("#jump-section-up a").attr("href",$(location).attr("href")+"#"+sections[prev]);
$("#jump-section-down a").attr("href",$(location).attr("href")+"#"+sections[next]);
}, offset=25);
Поскольку это запрос, связанный с мобильными устройствами, нажатие клавиши "TAB" не будет работать. Я хотел бы знать, есть ли какие-нибудь умные или более интересные способы сделать это.
Кнопки "вверх" и "вниз" hrefs корректно обновляются на рабочем столе (смещение не работает, но href обновляется, и я могу правильно перемещаться вверх / вниз по разделам), но на мобильных устройствах оно вообще не работает. Любая помощь приветствуется. Спасибо!