2017.05.23WEB - jQuery

skrollrとpjax併用で不具合

pjaxによって変更するDOMエレメントにskrollrの対象が含まれていると、skrollrの再度読み込みが必要となる。

pjax:render

のpjax読み込み後の処理の中に、

skrollr.init().destroy();
skrollr.init();

でskrollrを一回破棄・再設定してやればいい。

下部に余白が出る場合

skrollr.js内に、bodyに高さを指定する処理がある。
pjaxによって変更されるDOMエレメントにbodyが含まれなければその指定は残ったまま。(まぁ含まないよね)
skrollr.js内のbodyへの高さ指定は、無くても動作するため、処理自体を停止させる。

該当箇所

body.style.height = (_maxKeyFrame + documentElement.clientHeight) + 'px';