はじめに
・Railsを使用してアプリケーションを開発
・viewsの下部地点から上部に戻るボタンを設置する
Ruby 2.5.7
Rails 5.2.4.4
流れ
・gem 'jquery-rails'
を導入
・アクションを起こすボタンを用意(画像でなく文字やfont-awesome等でも代用可能)
・viewにボタンを記載しcss及びjavascriptへ追記
ボタン画像
適当に準備します・・・
画像ファイルをapp/assets/images配下に格納
viewsへ追加
<span id="top-btn">
<a href="#">
<%= image_tag asset_path('top_btn.png'), class: 'top-btn' %>
</a>
</span>
・asset_path('~~') は、app/assets/images配下の画像を読み込む
css 及び jsファイルへ追記
.top-btn {
position: fixed;
right: 30px;
bottom: 40px;
}
.top-btn a {
width: 50px;
height: 50px;
}
$(function() {
$('#top-btn a').on('click',function(event){
$('body, html').animate({
scrollTop:0
}, 1000);
event.preventDefault();
});
});
初期状態(ページの上部)では表示したくない場合?
$(function() {
var topBtn = $('#top-btn a');
topBtn.hide();
$(window).scroll(function(){
if ($(this).scrollTop() > 100) {
topBtn.fadeIn(1000);
} else {
topBtn.fadeOut();
}
});
topBtn.click(function () {
$('body, html').animate({
scrollTop:0
}, 1000);
event.preventDefault();
});
});
fadeIn 及びfadeOut のif文にてボタンの表示を設定しています・・
終わり
上記記載内容で、実装できるはず・・・
不明点及び説明がずれている(誤っている等)ございましたら、コメントにてにてお伝えいただければありがたいです。
以上、ご参考になれば幸いです。