Я создаю автоматическую связь между предыдущими и предыдущими страницами.На главной странице есть несколько групп ссылок, указывающих на эти подстраницы.Мне нужно настроить предыдущую / следующую навигацию в определенной группе в правильном порядке.Я не знаю ничего на базе, поэтому я должен сделать это с помощью jQuery.
Моя идея такова:
- Переместить каждую ссылку из определенной группы в массив и поместить массив в sessionStorage
- Сохранить ссылку, по которой щелкнулиthe sessionStorage
- Проверьте, есть ли совпадение, и найдите ссылки до и после ссылки, по которой щелкали
- Создание навигации на основе результатов
До сих пор все было хорошо,Теперь я застрял.Нажатие на массив и сохранение в sessionStorage работает хорошо, так же, как и сохранение нажатой ссылки.Но по какой-то причине я не могу заставить его найти предыдущую и следующую ссылку в массиве.Это мой код:
var root_url = window.location.protocol + "//" + window.location.host
var hrefs_tiles = new Array();
jQuery('.wp-tiles-grid').each(function(){
var current_tiles = jQuery(this);
current_tiles.on('click',function(){
current_tiles.find('a').each(function(){
var attr_href = jQuery(this).attr('href');
hrefs_tiles.push(root_url + attr_href);
sessionStorage.setItem("hrefs_tiles", hrefs_tiles);
});
});
});
jQuery('.wp-tiles-grid a').on('click',function(){
var current_href = jQuery(this).attr('href');
var current_link = root_url +current_href
sessionStorage.setItem("link", current_link);
hrefs_tiles.forEach(function(item){
var link = sessionStorage.getItem("link");
if (item == current_link){
var next = hrefs_tiles[(jQuery.inArray(current_link, hrefs_tiles) + 1) % hrefs_tiles.length];
var prev = hrefs_tiles[(jQuery.inArray(current_link, hrefs_tiles) - 1 + hrefs_tiles.length) % hrefs_tiles.length];
sessionStorage.setItem("prev", prev);
sessionStorage.setItem("next", next);
};
});
});
Буду очень признателен за вашу помощь!