バニラJavaScriptでTOPへ戻る機能(ボタン)の作成方法
2024/05/22
ページ内をある程度スクロールするとTOPへ戻るリンクを表示させたかった。ただ、複数のページに設置する必要があり、ページによってはjQueryを使用していないところがあるのでバニラJavaScriptのみで対応したい。以下にソースコードをメモ。
ソースコード
<a href="#top" id="backtop" style="bottom: 20px;display: none;position: fixed;right: 20px;z-index: 9999; padding: 10px; background: #262626; color:#fff;">TOPへ</a>
<script>
if (document.addEventListener) {
window.addEventListener("scroll", scrollToggle, false);
} else {
window.attachEvent("onscroll", scrollToggle);
}
function scrollToggle(e){
var scl = document.documentElement.scrollTop || document.body.scrollTop;
document.getElementById("backtop").style.display = scl > 300 ? 'block' : 'none'; //ここでスクロール量を変えられる。
}
</script>
その他
トップに戻るボタンはインラインのCSSで多少見た目を整えているが画像に変更する等、適宜調整すること。
関連記事
-
-
leaflet.jsとOSMで現在地を取得しマップ上にマーカーを表示する方法
leaflet.jsとOpenStreetMapで現在位置の経度緯度を取得しマッ ...
-
-
JavaScriptで連想配列を数値の降順でソートする方法
JavaScriptで連想配列を数値の降順でソートしたかったんだけど、色々調べて ...
-
-
NicEdit(WYSIWYGエディタ)に画像アップロード機能を追加する方法
NicEdit(ウィジウィグエディタ)に画像アップロード機能を追加したかった。本 ...
-
-
さくらのレンタルサーバでCookieが正常に保存できない場合の対応方法
さくらインターネットのレンタルサーバでjquery.cookie.jsを用いてC ...
-
-
Leafletで「sidebar-v2」プラグインを導入してマップ上にサイドバーを設置する方法
Leafletでマップ上にサイドバー及びサイドメニューを実装したい。調べたところ ...