Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Lay Theme Forum

  1. Home
  2. Addons
  3. Enable Hash Navigation on carousel

Enable Hash Navigation on carousel

Scheduled Pinned Locked Moved Addons
3 Posts 2 Posters 325 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    SteveWTD
    wrote on last edited by
    #1

    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 swiper

    hashNavigation: {
            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

    1 Reply Last reply
    0
    • arminunruhA Offline
      arminunruhA Offline
      arminunruh
      Global Moderator
      wrote on last edited by
      #2

      hey @SteveWTD
      sorry this won't work and i think i won't include this functionality in lay theme

      if 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

      1 Reply Last reply
      0
      • S Offline
        S Offline
        SteveWTD
        wrote on last edited by
        #3

        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.

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        I also code custom websites or custom Lay features.
        šŸ’æ Email me here: šŸ’æ
        info@laytheme.com

        Before you post:
        1. When using a WordPress Cache plugin, disable it or clear your cache.
        2. Update Lay Theme and all Lay Theme Addons
        3. Disable all Plugins
        4. 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:
        1. Post a link to where the problem is
        2. Does the problem happen on Chrome, Firefox, Safari or iPhone or Android?
        3. If the problem is difficult to explain, post screenshots / link to a video to explain it
        Online Users
        A
        alasdair17
        Forgot your key, lost your files, need a previous Lay Theme or Addon version? Go to www.laykeymanager.com
        laytheme.com
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Recent
        • Tags
        • Popular
        • Users
        • Search