ページトップをスムーススクロールとフェードインつき画像なし
WEB
CSSHTMLJavascript
ページの最下部につける「このページのトップへ戻る」
だいたい、要望としては
1. 戻るときはスル~っと動いてほしい
2. 下にスクロールしたらフワッと現れてほしい
3. 画像は使わずCSSだけでカッコ良くしたい
といったところでしょう。
というわけで、万能ソースを用意。
【HTML】
<p id="pagetop"><a href="#">▲<br>PAGE TOP</a></p>
これだけ。
【CSS】
#pagetop {
position: fixed;
bottom: 30px;
right: 15px;
font-size: 10pt;
}
#pagetop a {
color: #fff;
width: 80px;
padding: 18px 0;
text-align: center;
display: block;
border-radius: 5px;
text-decoration: none;
background: #666;
}
#pagetop a:hover {
text-decoration: none;
background: #999;
}
これだけ。
【JavaScript】
$(function() {
var topBtn = $('#pagetop');
topBtn.hide();
//ここまで下がったらボタン表示
$(window).scroll(function () {
if ($(this).scrollTop() > 300) {
topBtn.fadeIn();
} else {
topBtn.fadeOut();
}
});
//スクロールしてトップ
topBtn.click(function () {
$('body,html').animate({
scrollTop: 0
}, 1000);
return false;
});
});
これで「.js」保存して<head>にリンクはるだけ。
外部ファイルにせずHTMLに記述するときは
<script type="text/javascript"> </script>
の間に記述して、HTMLのソースの直下にでも貼っておけばOK。
まあ、あと、JSは、外部内部問わず、jQueryを呼び出す
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
みたいなのが前にないと動かないことがあるから、面倒くさいんだよね。