TOPから高さ取得でボタン出現
追従してからフッターの前で止まる。
footer の中に入れることがポイント。
論としては、fixedで配置しているボタンを非表示にしクラスを付与したら出現及び停止するロジック。
▼出現するまで見えなくしておく
.button{
position: fixed;
opacity: 0;
visibility: hidden;
}
▼止める時のための設定
footer{
position: relative;
}
クラスが付与されると表示するCSS設定
▼出現する時
.active{
opacity: 1;
visibility: visible;
}
▼止める時
.absolute{
position: absolute;
top: -70px;
bottom: auto;
}
jQは以下の通り。
$(function() {
// 変数にクラスを入れる
var btn = $('.button');
//スクロールしてページトップから100に達したらボタンを表示
$(window).on('load scroll', function(){
if($(this).scrollTop() > 100) {
btn.addClass('active');
}else{
btn.removeClass('active');
}
});
//フッターの手前でボタンを止める
$(window).on('load scroll', function(){
var height = $(document).height(), //ドキュメントの高さ
position = window.innerHeight + $(window).scrollTop(), //ページトップから現在地までの高さ
footer = $('footer').height(); //フッターの高さ
if ( height - position < footer ){
btn.addClass('absolute');
} else {
btn.removeClass('absolute');
}
});
//スクロールしてトップへ戻る
btn.on('click',function () {
$('body,html').animate({
scrollTop: 0
});
});
});

スクロールすると途中で表示される「トップへ戻るボタン」の実装。さらにフッター手前で止める場合の実装。 | Recooord | Web制作で扱うコーディングスニペットを紹介
スクロールすると途中で表示される「トップへ戻るボタン」の実装 See the Pen scroll-to-top_standard by RECOOORD
ふわっと出現フローティング

【jQuery】「ページトップへ戻る」ボタンを作りながら、jQueryの基礎を学ぶ | 仙台のウェブ制作会社AndHA
Webページによくある「ページ上部に戻るボタン」。こちら、全て理解して使っているという方は少ないのではないでしょうか?本記事では、この処理記述を使って、jQueryを詳しく紐解いていきます。jQueryの基礎の勉強にもどうぞ。
フッターの上でピタッと止める記述

【jQuery】fixedで固定したフローティングアイテムをフッターの上で止める方法 | HPcode(えいちぴーこーど)
フローティングアイテムをフッターの上で止める方法です。フッターと色が被ったりしてフッター上で止めるという実装もたまにやりたくなります。 jQueryを使ってフッターの高さやスクロールの位置をゴリゴリと取得していくというやり方ですね... 動

コメント