Navegação simples pegajosa

Alguns frameworks, como Zurb’s Foundation, usam plug-ins de terceiros (como o magellan) para fazer uma navegação fixa. Embora esses plug-ins façam outras coisas, às vezes queremos apenas uma navegação fixa simples. Este código aqui funciona muito bem.

var nav = $('#nav-sticky'),
next_element
= $('#next-element'),
nav_sticky
= nav.offset().top; //get the Y-position of section


$
(window).on({
scroll
:function(){ // fires when user scrolls
var current_position = window.pageYOffset; // get the current window Y-Position
if( current_position > nav_sticky ) {
nav
.addClass('sticky'); // add class to make the nav sticky using css
next_element
.css('margin-top',45); // don't let the next element go up (this needs to be the size of the nav)
} else {
nav
.removeClass('sticky'); // remove sticky css class
next_element
.css('margin-top',0); // back the next element to its place
}
}
});