Sticky Header - Scroll - CSS / jQuery

oliverbj picture oliverbj · Nov 21, 2011 · Viewed 12.7k times · Source

I wish to create a sticky header. Everytime that the user scrolls down AND the original header goes away, then the "sticky" header should kick in.

I currently use this:

$(function(){
    // Check the initial Poistion of the Sticky Header
    var stickyHeaderTop = $('#sticky').offset().top;
    $(window).scroll(function(){
        if( $(window).scrollTop() > stickyHeaderTop ) {
            //$('#sticky').css({position: 'fixed', top: '0px', float: 'right'});
            $('#sticky').addClass("sticky");
        } else {
            $('#sticky').removeClass("sticky");
        }
    });
});

Although, the current one add the class "sticky" whenever a user just does a scroll, and not when the original header should be gone.

Regards

Answer

Erick picture Erick · Jan 14, 2012

Wrap him with a div with id="whateveryouwannacallit"

and set:

#whateveryouwannacalltit{
position:fixed;
top:0;
left: 0;
width:100%;
}