【jQuery】下スクロールで消えて、上スクロールで再表示するヘッダーメニュー

下スクロールで消えて、上スクロールで再表示する
ヘッダーメニューをjQueryで実装します。

HTMLを

<div class="header">
  <div class="menu">
    <div class="inner">sample text</div>
  </div>
</div>

CSSを

.menu {
    width: 100%;
    height: 50px;
    position: fixed;
    left: 0;
    top: 0;
    transition: 1s;
}
.menu.hide {
    transform: translateY(-50px);
}

50pxの高さのメニューを50px上に移動させて隠す、という動きにしています。

jQueryを

$(function() {
    var pos = 0;
    var header = $('.menu');
    $(window).on('scroll', function() {
        if ($(this).scrollTop() < pos) {
            header.removeClass('hide');
        }
        else {
            header.addClass('hide');
        }
        pos = $(this).scrollTop();
    });
});

下スクロールでhideを付けて隠し、上スクロールでhideを削除して再表示するという挙動にしています。

参考:https://www.esz.co.jp/blog/2885.html

【jQuery参考書】
■初級・入門向け
10日でおぼえるjQuery入門教室 第2版

■中級・実務向け
jQueryポケットリファレンス (POCKET REFERENCE)

■上級・開発向け
jQueryクックブック(オライリー)

関連記事

コメントを残す

*