user1688793
user1688793

Reputation:

jquery scrolltop won't check when document loaded

i want to check if a document is scrolled to an amount of pixels in relation to my navigation (nav):

$(function(){
    var stickyMenuTop = $('nav').offset().top + 100;

        $(window).on("scroll load",function(e){
            if( $(window).scrollTop() > stickyMenuTop ) {
                $('nav').addClass('scrollto')
                $('.navi-top').addClass('scrollto')
                $('.navi-top a').css('opacity', '1' )
            } else {
                $('nav').removeClass('scrollto')
                $('.navi-top').removeClass('scrollto')
                $('.navi-top a').css('opacity', '0' )
            }
        });

    });

it works but when i reload the page and i have scrolled down before it doesn't work. i have to scroll to top first then reload. how can i do it that if i reload the page when i have already scrolled down?

Upvotes: 0

Views: 78

Answers (1)

enguerranws
enguerranws

Reputation: 8233

Try :

$(function(){
    var stickyMenuTop = 100;

    $(window).scroll(function(e){
        if( $(document).scrollTop() > stickyMenuTop ) {
            $('nav').addClass('scrollto');
            $('.navi-top').addClass('scrollto');
            $('.navi-top a').css('opacity', '1' );
        } else {
            $('nav').removeClass('scrollto');
            $('.navi-top').removeClass('scrollto');
            $('.navi-top a').css('opacity', '0' );
        }
    });

});

http://jsfiddle.net/K9fg6/3/

You actually don't need to check on document load.

Upvotes: 0

Related Questions