数あるサイトの中には、ページを下にスクロールしていくとサイトの上部に戻るボタンが現れ、それを押すとぺージトップに戻るボタンを見ることがあると思います。
そこで今回はページトップに戻るボタンの設置方法を解説したいと思います!
目次
1. ページトップに戻るボタンの設置方法
まず、以下のデモページのようなページトップに戻るボタンを設置する方法を解説したいと思います。
デモページ
上のデモページでは、ページを下部までスクロールするとスクロールボタンがあり、それを押すとページトップ(<div id=”a”>)に戻るようにjQueryを設置しています。
それでは、設置するには以下のコードを設置します!
HTMLを設定
まず、ページトップに戻るボタンは以下のようなコードを設置します。
<p class="pagetop"><a href="#">トップ</a></p>
CSSを設定
ボタンのCSSは例として以下のように設定しました。
.pagetop {
width: 200px;
float: right;
margin: 0 20px 20px 0;
background: #3333ff;
padding: 10px 20px;
text-align: center;
}
.pagetop a {
color: #fff;
font-weight: bold;
text-decoration: none;
}
jQueryを設定
では実際にページトップに戻るjQueryのコードを設置してみましょう!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
var pagetop = $('.pagetop');
pagetop.click(function () {
$('body, html').animate({ scrollTop: 0 }, 500);
return false;
});
});
</script>
5行目で、変数として.pagetopをpagetopと設定しています。
その上で、6~8行目で変数pagetopをクリックした時にページトップに戻るよう指定しています。
ちなみに
$('body, html').animate({ scrollTop: 0 }, 500);
上の500という数値はページトップに戻るまでのスピードを設定しているので、この数値が200、100というように小さくなるとスピードが速くなります。
2. ページをスクロールするとページトップに戻るボタンが現れるよう設定
次に以下のデモページのようにページをスクロースるするとページトップに戻るボタンが現れるようjQueryを設定してみます。
HTMLを設置
まず、HTMLコードを以下のように記述します。
<p class="pagetop"><a href="#">トップ</a></p>
CSSを設定
続いてCSSを設定します。
.pagetop {
position: fixed;
width: 200px;
right: 20px;
bottom: 0;
background: #3333ff;
padding: 10px 20px;
text-align: center;
}
.pagetop a {
color: #fff;
font-weight: bold;
text-decoration: none;
}
ここで気を付けるべきは、ボタンのCSSにposition: fixed;を記述して位置を固定するということと、この時にrightとbottomで隙間を設定する、ということです。
※ちなみにこの時にfloat設定しても意味がないのでお気を付けて!
jQueryを設定
では実際にページトップに戻るjQueryのコードを設置してみましょう!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
var pagetop = $('.pagetop');
pagetop.hide();
$(window).scroll(function () {
if($(this).scrollTop() > 50) {
pagetop.fadeIn();
} else {
pagetop.fadeOut();
}
});
pagetop.click(function () {
$('body, html').animate({ scrollTop: 0 }, 500);
return false;
});
});
</script>
まず5行目でclass名pagetopを変数pagetopにしています。
そして、6行目でデフォルトではボタンを非表示に設定しており、その上で7~12行目でページをスクロールするとボタンが現れるように設定しています。
if($(this).scrollTop() > 50) {
上のコードで、ページ上部から50pxスクロールしたらボタンが現れるよう設定していますので、ボタンを表示させるにはページをスクロールしてからどれくらいにするのか、というのを設定できます。
まとめ
以上がページトップボタンの設置方法になります!この機能はサイトを制作する上でユーザーにとって便利な機能になるので、是非とも設置してみましょう!




