Enable Hash Navigation on carousel
-
Looking at the docs for swiperjs
https://swiperjs.com/demos/#hash_navigation
if I want to navigate with the url hash feature
I need to add these parameters to the swiperhashNavigation: { watchState: true, },
there is reference in the api to add parameters after the swiper is initialised but I can't work this out my coding skills are not advanced eg
var mySwiper = document.querySelector('.swiper-container').swiper // Now you can use all slider methods like mySwiper.slideNext();
is this how it would be done Ive tested this above and it does not work? any help or pointers would be apreciated.
Does the mySwiper variable have to be the same name as lay themes carousel variable if so what is it by default - layCarousel?Thanks
-
hey @SteveWTD
sorry this won't work and i think i won't include this functionality in lay themeif you just want to slide to the next image, maybe
window.laytheme.on('newpageshown', function(){ var mySwiper = document.querySelector('.swiper-container').swiper; // Now you can use all slider methods like mySwiper.slideNext(); });
but there might be multiple carousels on your page, best to use a class or id and target the specific carousel
right click the carousel and do "set element class and id"
you need to know some html and javascript to make sense of all of this and I can't guarantee you can make this work
good luck
-
Thanks Arminunruh
so if I use the following<script> jQuery(document).on("click", ".id-28 .element-collection .element-wrap", function(event) { var slideno = jQuery(this).find("img").attr("alt"); window.location.href = '/portfolio#' + slideno; }); var urlhash = window.location.hash.substr(1); window.laytheme.on('newpageshown', function(){ var mySwiper = document.querySelector('.swiper-container').swiper; // Now you can use all slider methods like mySwiper.slideTo(urlhash, 1, false); }); </script>
no matter what slider method I use I get error like "TypeError: undefined is not an object (evaluating 'mySwiper.slideTo')" this suggest a timing issue as the object is not there can you see where I am going wrong.
Thanks for your help.
Before you post:
- When using a WordPress Cache plugin, disable it or clear your cache.
- Update Lay Theme and all Lay Theme Addons
- Disable all Plugins
- Go to Lay Options → Custom CSS & HTML, click "Turn Off All Custom Code", click "Save Changes"
This often solves issues you might run into
When you post:
- Post a link to where the problem is
- Does the problem happen on Chrome, Firefox, Safari or iPhone or Android?
- If the problem is difficult to explain, post screenshots / link to a video to explain it