【javascript】ある程度スクロールしたら現れる、ページトップに戻るボタンの作り方

このページにも設置してある、ページトップに戻るボタンの作り方について解説します。 現時点ではまだスクロール量が多くないので、そのボタンは現れてないかと思います。
ポイント
- <a>タグのhrefを#topとする。
- position: fixedで画面に固定
- oppacity: 0で、まずはボタンを非表示
- スクロールし、pageYOffsetの値が1000(任意)になったら、ボタンを表示させる
HTML
HTML <div id="topbutton">
<a href="#top">▲TOPへ戻る</a> <!-- ➀ -->
</div>
CSS
CSS#topbutton {
/* ▼ボタンの表示位置を画面の右下に固定 */
position: fixed; /* ➁ 表示場所を固定 */
bottom: 10px; /* 画面下端からの距離 */
right: 30px; /* 画面右端からの距離 */
oppacity: 0; /* ➂ ▼最初は非表示に */
z-index: 10000; /* 前面に表示 */
}
javascript
javascript window.addEventListener("scroll", function () {
const topBtn = document.getElementById("topbutton");
const scroll = window.pageYOffset;
if (scroll > 1000) { // ➃
topBtn.style.opacity = 0.5;
} else topBtn.style.opacity = 0;
});
参考
画面スクロール(pageYOffset)に関しては以下を参照してください。

こんな記事も読まれています。
-
【HTML】【CSS】【javascript】電卓の作り方
電卓のソースコードを2つ紹介します。javascriptはわずか数行で書けます。
-
【JacvaScript】【CSS】たった4行のJavaScriptでできるハンバーガーメニューの作り方
たった4行のJavaScriptで作るハンバーガーメニューの作り方について紹介します。✖をつくるには、transform-originがポイントです。
- リンク
-
波紋エフェクトを表現するjqueryのripples-min.jsの使い方
jqueryのripples-min.jsを使うと簡単に水面の波紋を表現できます。波紋の広がりの速度、波紋の大きさ、波紋のブレの値を変えていろいろ表現させると面白いです。
-
【Javascript】querySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法。
JavascriptのquerySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法について解説します。querySelectorと同じように書いてしまうとエラーがでます。forEachを使うとすべてに適用できます。
- リンク
-
要素の高さを取得する方法。getBoundingClientRectとは?window.innerHeightとは?window.pageYOffsetとは?
要素の高さを取得する方法について解説します。getBoundingClientRect、window.innerHeight、window.pageYOffsetについて理解し、要素がいつ画面に現れるかを把握できるようにしましょう。
-
Javascriptを使ったページネーションの実装
トップページの記事が増えてきたので、何とかページネーションで最新の記事だけを表示できないかと思っていたら、いい記事を発見しました。カスタマイズして実装することができました。
- リンク
-
【Javascript】マウスの指す(X, Y)座標とドラッグ & ドロップを理解する
マウスの指す(X, Y)座標とドラッグ & ドロップについて解説します。mousedown, mouseover, mousemove, mouseupを使います。
-
【javascript】連想配列をテーブルできれいに表示する方法
javascript(Object.entries)を使って、連想配列の中身をテーブルできれいに表示する方法について紹介します。
- リンク