【jQuery】スクロールしたら途中からヘッダーを固定する

スクロールしたら途中からヘッダーを固定する方法を紹介します。
まず、jQueryを導入してからお使いください。

↓以下が実際のソースサンプルです。

▼html

<nav id="global_nav">
    <div class="wrapper">
        <ul>
            <li class="item"><a href="#menu1">メニュー1</a></li>
            <li class="item"><a href="#menu2">メニュー2</a></li>
            <li class="item"><a href="#menu3">メニュー3</a></li>
            <li class="item"><a href="#menu4">メニュー4</a></li>
            <li class="item"><a href="#menu5">メニュー5</a></li>
        </ul>
    </div>
</nav>

▼css ※一部抜粋しています

#global_nav {
    background: #fff;
    border-bottom: 1px solid #16244e;
    border-top: 1px solid #16244e;
    width: 100%;
}

#global_nav.fixed {
    left: 0;
    position: fixed;
    top: 0;
}

.wrapper {
    margin: 0 auto;
    max-width: 100%;
    padding: 0;
    width: 768px;
}

#global_nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.item {
    border-left: 1px solid #fff;
    width: 20%;
}

.item:last-child {
    border-right: 1px solid #fff;
    margin-right: 0;
}

.item a {
    background: #16244e;
    color: #fff;
    display: block;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
}

▼JavaScript

var nav_pos = $("#global_nav").offset().top;
var nav_height = $("#global_nav").outerHeight();
$(window).scroll(function () {
    if ($(this).scrollTop() > nav_pos) {
        $("body").css("padding-top", nav_height);
        $("#global_nav").addClass("fixed");
    } else {
        $("body").css("padding-top", 0);
        $("#global_nav").removeClass("fixed");
    }
});

今回の記事やデモページ作成にあたり
途中からヘッダー固定にする方法!画面上部までスクロールされたら固定するさんのページを参考にさせていただきました。
ありがとうございます。

デモページは、こちら