Cocoonのページトップボタンの上に別のボタンを追加したときに出現させるタイミングがわからず困ったので解決した記事をメモしておきます。
親テーマのjavascript.jsを見て条件を見つける
結論ですがページトップボタンはウインドウの一番上から600pxスクロールした時点で出現します。
ちなみにページトップボタンの要素はdivでidが#go-to-topです。
親テーマのjavascript.jsを見てみると以下のようなコードがかかれています。
/////////////////////////////////
//TOPへ戻るボタン
/////////////////////////////////
var prevScrollTop = -1;
var $window = $(window);
$window.scroll(function () {
//最上部から現在位置までの距離を取得して、変数[scrollTop]に格納
var scrollTop = $window.scrollTop();
var threashold = 600;
var s1 = (prevScrollTop > threashold);
var s2 = (scrollTop > threashold);
// スレッショルドを跨いだ時のみ処理をする
if (s1 ^ s2) {
if (s2) {
//[.go-to-to]をゆっくりフェードインする
$('.go-to-top').fadeIn('slow');
} else {
//それ以外だったらフェードアウトする
$('.go-to-top').fadeOut('slow');
}
}
prevScrollTop = scrollTop;
});
フェードインさせるタイミング
見ればわかりますがslowが設定されていますね。
$('.go-to-top').fadeIn('slow');
他のボタンを追加した場合これを元にコードを組めば同じスクロール位置で同じタイミングで出現させることができますね。
コメント