So blenden Sie die Navigationsleiste ein / aus, wenn der Benutzer einen Bildlauf nach oben oder unten durchführt

Navigationsleiste ausblenden / einblenden, wenn der Benutzer einen Bildlauf nach oben / unten durchführt

Hier ist das Beispiel, das ich erreichen möchte: http://haraldurthorleifsson.com/ oderhttp://www.teehanlax.com/story/readability/

Die Navigationsleiste wird beim Scrollen nach unten vom Bildschirm nach oben und beim Scrollen nach oben wieder nach unten verschoben. Ich habe herausgefunden, wie es mit Einblenden / Ausblenden gemacht wird, aber ich möchte es mit genau der gleichen Animation wie im Beispiel erreichen.Hinweis: Ich habe SlideIn () bereits ausprobiert und mag die Art und Weise, wie es die Stretching-Animation ausführt ...

JQUERY:

var previousScroll = 0,
headerOrgOffset = $('#header').offset().top;

$('#header-wrap').height($('#header').height());

$(window).scroll(function() {
    var currentScroll = $(this).scrollTop();
    console.log(currentScroll + " and " + previousScroll + " and " + headerOrgOffset);
    if(currentScroll > headerOrgOffset) {
        if (currentScroll > previousScroll) {
            $('#header').fadeOut();
        } else {
            $('#header').fadeIn();
            $('#header').addClass('fixed');
        }
    } else {
         $('#header').removeClass('fixed');   
    }
    previousScroll = currentScroll;
});

CSS:

#header {
    width: 100%;
    z-index: 100;
}

.fixed {
    position: fixed;
    top: 0;
}

#header-wrap {
    position: relative;
}

HTML:

    <div id="header-wrap">
    <div id="header" class="clear">
        <nav>
            <h1>Prototype</h1>
        </nav>
    </div>
</div>

Antworten auf die Frage(5)

Ihre Antwort auf die Frage