jQueryでページトップへ戻るボタンを作る方法

jQueryでページトップへ戻るボタンを作る方法

jQueryを使ってページトップへ戻るボタンを実装する方法です。ページを少し下にスクロールすると、ボタンが右下にフェードインで表示され、クリックするとページトップまでスクロールして上がります。

HTML

<a href="#header" id="pageTop">PAGE TOP</a>

まずはボタン部分となるコードをhtmlファイルに記述します。「PAGE TOP」の文字がサイト上に表示される部分です。別のテキストや、imgタグで画像に変更できます。#headerがアンカーリンクで移動するための、サイト内の一番上に位置するコンテンツのidです。サイトに合わせて変更してください。id=”pageTop”がjQeryを実行するためのidです。

CSS

#pageTop {
 position: fixed;
 bottom: 60px;
 right: 60px;
}

次にボタンの表示位置をcssファイルに記述します。position: fixed;で常に画面上にボタンを固定表示します。今回は画面の右下各60pxの位置に固定しています。このcssでボタンのデザインも変更できます。

JavaScript

<script type="text/javascript">
jQuery(function($) {
 var topBtn = $('#pageTop');
 topBtn.hide();
 $(window).scroll(function () {
  if ($(this).scrollTop() > 100) {
   topBtn.fadeIn();
  } else {
   topBtn.fadeOut();
  }
 });
 topBtn.click(function () {
  $('body,html').animate({
   scrollTop: 0
  }, 700);
  return false;
 });
});
</script>

最後にhtmlファイルの<head>内にJavaScriptを記述します。

topBtn.hide();でid=”pageTop”をdisplay:noneの状態にしています。

scrollで画面が指定された高さ(100)よりスクロールされた場合に、の端を表示するように指定しています。

topBtn.clickでボタンがクリックされた際に、指定した速度(700)でスクロールするように指定しています。それぞれの数値を変更することで動きを調整できます。

うまく動かない場合は、jQueryが正しく読み込まれているか、記述に間違いがないか確認してください。

Share on Twitter
関連記事
クリッカブルマップをレスポンシブ対応する方法
クリッカブルマップをレスポンシブ対応する方法
下までスクロールしないと押せないチェックボックスの作り方
下までスクロールしないと押せないチェックボックスの作り方
slickのドット(dots)をスライドの画像にする方法
slickのドット(dots)をスライドの画像にする方法