Single Page Navigation Plugin For jQuery - singlePageNav.js
File Size: | 8.95 KB |
---|---|
Views Total: | 3255 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

Just another single page navigation plugin with jQuery that provides scrollspy and smooth scroll functionalities for your one page scrolling website and single page app.
Features:
- Highlights active menus as you scroll past their sections.
- Smoothly scrolls through content sections as you click menus.
How to use it:
1. Create the singe page navigation.
<ul class="menu__container js-menu"> <li class="menu__element active"> <a href="#home" class="menu__link">Home</a> </li> <li class="menu__element"> <a href="#service" class="menu__link">Service</a> </li> <li class="menu__element"> <a href="#portfolios" class="menu__link">Portfolios</a> </li> <li class="menu__element menu__element_no-clickable"> <a href="#about" class="menu__link">About</a> </li> <li class="menu__element menu__element_except"> <a href="https://google.com" target="_blank" class="menu__link">[Exeption]</a> </li> <li class="menu__element"> <a href="#contacts" class="menu__link">Contacts</a> </li> </ul>
2. Create the content sections.
<section class="home" id="home"> <h2 class="section-header">Home</h2> <p class="section-content">Home Section</p> </section> <section class="service" id="service"> <h2 class="section-header">service</h2> <p class="section-content">Servide Section</p> </section> <section class="portfolios" id="portfolios"> <h2 class="section-header">portfolios</h2> <p class="section-content">Portfolio Section</p> </section> ...
3. Active the single page navigation as this:
$(".js-menu").singlePageNavigation({ // Class of except items // default: "" exceptClass : "menu__element_except", // Class of disabled items // default: "" disabledClass : "menu__element_no-clickable", // active class name // default: "current" current : "active", // Scrolling speed (ms) // default: 700 duration : 500, // Delay before scrolling // default: 0 delay : 300, // Easing effect // default: "swing" ease : "swing", // Top offset ([jquery element], [0 - xxx (px)]) // default: 0 offset : header, // Sets dynamic height for offset element // default : false offsetDynamic : 'innerHeight', // Offset bottom (0.00 - 1.00 - percents (0.45 = 45% of window height), 1 - xxx - pixels) // default: 0 scrollingOffsetBottom : 0.4, // Changes address location // default: false changeAddress : false, // Clickable of current nav element // default: true currentClickable : true, // Function executed before scrolling // default: null beforeScrolling : function(){ console.log("start scrolling"); if($(".btn-container").hasClass("change")){ $(".btn-container").removeClass("change"); menuShowHide(150); } }, // Function executed after scrolling // default: null finishScrolling : function(){ console.log("finish scrolling"); } });
This awesome jQuery plugin is developed by Davinskiy. For more Advanced Usages, please check the demo page or visit the official website.