Я использую хэш-навигацию для swiper следующим образом:
hashNavigation: {
watchState: true,
replaceState: true,
},
Так что я могу переходить к слайдам, когда нажимаю на ссылки хеш-меню.
Работает нормально, пока я не вложу свиперы в слайды,Когда я использую одинаковые параметры hashNavigation для родительских и дочерних страниц, только родительские ссылки работают как положено. Но дочерние ссылки не активируют родительский слайд, только дочерний.
Я проверил код из hash-navigation.js, это бит, который обрабатывает изменение хеша:
onHashCange() {
const swiper = this;
const newHash = document.location.hash.replace('#', '');
const activeSlideHash =
swiper.slides.eq(swiper.activeIndex).attr('data-hash');
if (newHash !== activeSlideHash) {
const newIndex =
swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-
hash="${newHash}"]`).index();
if (typeof newIndex === 'undefined') return;
swiper.slideTo(newIndex);
} },
Можно ли перейти на родительский слайд при нажатии на дочернюю ссылку? Я думаю, что могу добавить родительский хэш к HTML в подобном хеш-коде к хешу данных, как родительский хеш-данных. Но я понятия не имею, что будет JS, чтобы получить значение этого атрибута и slideTo соответственно. Любая помощь будет принята с благодарностью! Спасибо!