3月更新・前月(2月)の人気記事トップ10 03/01/2023
- ( 01 – ) 【iPhone / iPad】iPhoneでSuicaをクレジットカード無しで使う方法
- ( 02 – ) 【Mac】MacにGoogle Driveをインストール
- ( 03 – ) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- ( 06 ↑) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 05 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 05 ↓) 【Mac】Macのユーザー名とアカウント名を変更する
- ( 07 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 08 – ) 【iPhone iPad】iPhoneやiPadの音量を細かく調整する方法
- (圏外↑) 【Labs】マウスオーバーでボタンの色が変わるロールオーバー
- ( 09 ↓) 【jQuery】入門5. jQueryで日時を表示
【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でスムーススクロール