ホームページ制作 【上に戻るボタン作成】
①フッター</footer>の下にこちらをぶち込む
</footer> フッターの下に
<p id="scroll-top"><a href="#">^</a></p> ←これをぶち込む
②次はcss に下記をぶち込む
#scroll-top {
background-color: #eee;
opacity: 0.6;
position: fixed; /*画面の位置の固定*/
bottom: 20px; /*下側から*/
right: 20px; /*右側から*/
padding: 10px; /*内側に余白*/
}
☝ 下側から20px、右側から20pxの位置で固定している。
③もう1個css を追加する。上のcssを記述した下とかに
#scroll-top a {
text-decoration: none;
color: #333;
}
これを追加。①で記述した a の ^ の装飾を変更しています。
④次はJavascript
js ファイルの中
// JavaScript Document
$(function () {
});
この中に書いていく。上の意味はすべてを実行した後にjsを読み込むのでエラーが起きにくい。
// JavaScript Document
$(function () {
//上に戻るボタン(セレクタ)
let topBtn = $("#scroll-top");
topBtn.hide(); //画面上の方では意味がないので一回消す。
//ある程度スクロールされたら、上に戻るボタンを表示する
$(window).scroll(function(){ //windowがスクロールしたらイベント発生
//console.log($(this).scrollTop()); // スクロール値
//console.log( $(this).height ()); // 表示されている(見えている高さ)
if( $(this).scrollTop() > 1000){ //スクロール値が1000を超えたら
topBtn.fadeIn(); //フェードインで表示
}else{
topBtn.fadeOut(); //フェードアウトで非表示
}
//戻るボタンクリックでページスクロール
topBtn.on("click" , function(event){
//console.log(event);
event.preventDefault(); //ページ内リンクの挙動をキャンセル(a のリンクの挙動)
$("body,html").animate({ //スムーズにスクロールする設定 Animetinを使用して
scrollTop:0 //300に値を変えたりするとわかりやすい
},500); //何秒かけてページトップに戻るのか?1000=1秒
});
});
});
これでできるよ
この記事が気に入ったらサポートをしてみませんか?