Headroom.jsメモ

Headroom.jsは指定した領域で指定した幅より大きく
上下にスクロールすることをイベントにして指定した要素にCSSのclassを指定するライブラリである。

利用する手順は以下のとおり


CSSの設定

/* 初期する際に対象となる要素に適応するCSS */
.initial {
    background-color: green;
    opacity: 0.5;
}
/* 上方にスクロールした際に対象となる要素に適応するCSS */
.pinned {
    background-color: blue !important;
    opacity: 0.5;
}
/* 下方にスクロールした際に対象となる要素に適応するCSS */
.unpinned {
    display: none;
}


初期化処理

<div id='target' class="base"></div>
//ターゲットの要素を取得
var target = document.getElementById("target");
//セッティング
var headroom  = new Headroom(target, {
    //上から250pxより下の領域で10px以上スクロールするとイベントが発動する
    offset: 250,
    tolerance: 10,
    classes: {
        //初期化するときにターゲットに適用するclass
        initial: "initial",
        //上方にスクロールしたときにターゲットに適用するclass
        pinned: "pinned",
        //下方にスクロールしたときにターゲットに適用するclass
        unpinned: "unpinned"
    },
    //上方にスクロールした際に実行される関数
    onPin: function() {console.log("onPin")},
    //下方にスクロールした際に実行される関数
    onUnpin: function() {console.log("onUnpin")},
});
//初期化
headroom.init();

デモ