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. General Discussion
  3. How to add offset to anchor scroll to behavior?

How to add offset to anchor scroll to behavior?

Scheduled Pinned Locked Moved General Discussion
4 Posts 2 Posters 116 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.
  • J Offline
    J Offline
    justfunk
    wrote on last edited by
    #1

    Hi all,
    the following code is already part of lay theme right?
    https://gist.github.com/aunruh/7d06859bedcf0ce780e05e73659f8c48

    However the anchor scroll to behavior works fine.
    Because of a fixed navbar I need to add an offset to it.
    How does it works?

    Best Manuel

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

      Dear @justfunk

      look here:
      I added: var top = el.offset().top+100;

      <script>
          
          jQuery(document).on( 'click', 'a[href^="#"]', function(e){
              e.preventDefault();
              var hash = jQuery(this).attr('href');
              var el = jQuery(hash);
              var top = el.offset().top+100;
              jQuery('html, body').animate({
                  scrollTop: top
              }, 300, 'swing',
                  function() {
                      window.location.hash = hash;
                  }
              );
          } );
          
          window.laytheme.on('newpageshown', function(){
              var hash = window.location.hash; 
              var el = jQuery(hash);
              if(el.length > 0) {
                  var top = el.offset().top;
                  window.scroll(0, top);        
              }
          });
          
      </script>
      

      Best!

      Marius

      www.mariusjopen.world

      1 Reply Last reply
      0
      • J Offline
        J Offline
        justfunk
        wrote on last edited by
        #3

        Thank you.
        But the problem is that the code is minified in the frontend.min.js if I add your code it is execute twice and the result is a weird scrolling behavior.

        1 Reply Last reply
        0
        • mariusjopenM Offline
          mariusjopenM Offline
          mariusjopen
          Global Moderator
          wrote on last edited by
          #4

          Dear @justfunk
          the code should be added in the CUSTOM CODE section.
          Then it will be fine.
          Best!
          Marius

          www.mariusjopen.world

          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
          arminunruhA
          arminunruh
          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