Definitive guide to 'Smooth scroll to anchors from menu'
-
Hi fellow Lay users,
I've been searching this forum for a working solution to smooth scroll to anchor points from the menu, e.g. if you want to use the website as a single page type, but didn't find a definitive guide or solution. So I figured something out that actually works out of the box. I'm not a programmer, so i'm sure there are more streamlined solutions to achieve the same, but I wanted to share this solution because have the feeling more people are looking for a clear way to achieve this.
1. Add this code to 'Custom <head> content' under Lay options > 'Custom CSS & HTML':
<script>
jQuery(document).ready(function(){
jQuery('li.menu-item a').addClass('scrollTo');
});
</script>This adds the class 'scrollTo' to every menu item 'a'
(instead of the 'li' which happens when you try to add a class from the Wordpress menu editor)2. Add this code to 'Custom HTML at bottom':
<script>
jQuery(document).ready(function(){
jQuery('body').on('click', '.scrollTo', function(event) {
event.preventDefault();
var id = jQuery(this).attr('href');
jQuery('html, body').animate( { scrollTop: jQuery(id).offset().top }, 350 );
});
})
</script>This enables smooth scrolling to every anchor you create in the page.
You want this to happen after the 'scrollTo' class is added to the menu 'a',
that's why it's loaded at the bottom of the HTML.
Good luck!
-
Dear @Hantverk
ah wow!
Thank you for sharing!So we can refer to your post in case :-)
Best!
Marius
-
P person5 referenced this topic on
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login