ページトップへ戻るボタンを設置

MovableType インターネット
縦スクロールが長いページで便利な「トップへ戻る」リンクを設置。 テンプレート テ...

縦スクロールが長いページで便利な「トップへ戻る」リンクを設置。

テンプレート

テンプレートに追記。最下部、</body>の直前辺りで良いだろう。

<div id="page-top">
<a href="#"><img src="/img/icon.gif"></a>
</div>

当サイトではFont Awesomeのアイコンを利用。画像ではなく「TOP」など文字表記にするも自由。

<div id="page-top">
<a href="#"><i class="fa-solid fa-angles-up"></i></a>
</div>

スタイルシート

リンクボタンに色を付け、円形にしてみた。

#page-top{
position: fixed;
right: 20px;
bottom: 30px;
}
#page-top a{
font-size: 1.5em;
color: #669999;
background-color: #f5f5f5;
text-align: center;
text-decoration: none;
padding: 5px 15px;
border-radius: 50%;
}

Java Script

ここでもう一手間。初見では画面に無い状態とし、スクロールした時に表示されるよう細工。このスクリプトは動きも緩やか。尚、jQuery.jsを使用するのが前提のため、未実装の場合は別途用意。

以下を記したファイル「page-top.js」を作成。既存のjsファイルに追記するも可。

$(function() {
var topBtn = $('#page-top');
topBtn.hide();
$(window).scroll(function () {
if ($(this).scrollTop() > 500) {
topBtn.fadeIn();
} else {
topBtn.fadeOut();
}
});
topBtn.click(function () {
$('body,html').animate({
scrollTop: 0
}, 500);
return false;
});
});

各ファイルをサーバーに転送、テンプレートの<header>~</header>内に設置環境を追記。

<script src="/jquery.js"></script>
<script src="/page-top.js"></script>

00914.png

Movable Typeの公式配布テーマ「Rimo」のスタイルシートを確認した際、テンプレートの何処にも使われていない指定を発見したのが発端。

00913.png

公式さんはテンプレートに記述し忘れたまま、リリースしてしまったのだろうか。無くても困らない代物ではあるが……

posted on August 7, 2021
-

related entries