9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】ページトップボタン
こんにちは(・∀・)
今回はスムースにスクロールしてページのトップへ移動するボタンのサンプルをご紹介します。
ページトップボタン
JavaScript部分にdisplay:noneが記述してありますが、DOM構築時に一瞬ボタンが表示されてしまうため、その対策としてCSSのボタン要素にもdisplay:noneを記述しておきます。必要であればnoscriptにdisplay:blockを記述してください。
Google Hosted LibrariesからjQuery 1.x snippetを<head>
内に読み込みます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<noscript>
<style>
.pagetop {
display: block;
}
</style>
</noscript>
HTML
<div class="pagetop">
<a href="#top">∧</a>
<!--pagetop--></div>
CSS
#contents {
width: 1060px;
margin: 0 auto;
}
.pagetop {
display: none;
position: fixed;
bottom: 100px;
right: 20px;
width: 50px;
height: 50px;
}
.pagetop a {
display: block;
width: 50px;
height: 50px;
border-radius: 50%;
background: #9fb7d4;
color: #fff;
font-size: 22px;
line-height: 2.1;
text-indent: 0.85em;
text-decoration: none;
}
.pagetop a:hover {
display: block;
width: 50px;
height: 50px;
border-radius: 50%;
background: #4776AF;
}
JavaScript
$(function() {
//ボタン表示スクリプト
var pagetop = $('.pagetop');
pagetop.css({'display': 'none'});
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
pagetop.fadeIn();
} else {
pagetop.fadeOut();
}
});
//トップに戻るスクリプト
/*当サイトのスムーススクロールのスクリプトを使用している場合こちらは不要です*/
pagetop.click(function () {
$('html,body').animate({scrollTop: 0}, 500, 'swing');
return false;
});
});
Result
当サイトのサンプル、【Labs】JavaScriptでスムーススクロールか【Labs】jQueryでスムーススクロールを使用している場合はこちらのjQueryはなくてもHTMLとCSSを組み合わせるだけで機能します。
関連リンク
【Labs】jQueryでスムーススクロール
【Labs】JavaScriptでスムーススクロール