 when appropriate i am a fan of the one page sites i really like the ones that add smooth scrolling and highlight the navigation depending upon which part of the page you have scrolled to here are a few examples brizk design and crush lovely i finally have a freelance project where a one page site makes sense so i needed to write the javascript to make the navigation work how i wanted i wanted the page to scroll smoothly when the navigation was clicked so i used the jquery scrollto plugin i also wanted the page to automatically highlight the correct navigation section depending upon which section was scrolled to and that was where i added my custom code if you want to skip ahead you can check out the demo and download the plugin from github the markup i started with an unordered list for the navigation and a bunch of sections ul id= nav li class= current a href= section 1 section 1 a li lia href= section 2 section 2 a li li a href= section 3 section 3 a li ul div id= section 1 strongsection 1 strong plorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua p div div id= section 2 strongsection 2 strong plorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua p div div id= section 3 strongsection 3 strong plorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua p div the javascript then i added jquery the scrollto plugin and my plugin to the page script src= jquery js script script src= jquery scrollto js script script src= jquery nav min js script finally i just need to call my plugin on the navigation $ document ready function $ nav onepagenav options there are a few options for this plugin currentclass current class to add to the list item when the navigation item is selected changehash false if you want the hash to change when the user clicks on the navigation change this to true scrollspeed 750 speed to scroll the page when the navigation is clicked and thats it check out the demo and download the plugin from github 