ブログとかでページ右下あたりによくある 「Back to Top」 ボタンを作ってみました。
DEMO
ページを開いてスクロールすると、右下に「Back to Top」ボタンが現れます。 ボタンをクリックしてページ上部までスクロールします。 今回は jQuery を使ってみたら、ごくありがちなボタンになってしまいました。 もしかしたら多少クリックしずらいかもしれません。
サンプルコード
※以下はDEMOを簡略化するため多少コード変更していますHTML:
- <div class="back-to-top">Back to Top</div>
<div class="back-to-top">Back to Top</div>JavaScript:
- $(function() {
- var backToTop = $('.back-to-top');
- // クリックでページ上部までスクロール
- backToTop.hide().on('click', function() {
- $('html,body').animate({
- scrollTop: 0
- }, 800);
- return false;
- });
- // スクロール位置がページ上部じゃなかったら表示
- $(window).on('scroll', function() {
- if ($(this).scrollTop() < 10) {
- backToTop.hide();
- } else {
- backToTop.show();
- }
- });
- });
$(function() { var backToTop = $('.back-to-top'); // クリックでページ上部までスクロール backToTop.hide().on('click', function() { $('html,body').animate({ scrollTop: 0 }, 800); return false; }); // スクロール位置がページ上部じゃなかったら表示 $(window).on('scroll', function() { if ($(this).scrollTop() < 10) { backToTop.hide(); } else { backToTop.show(); } }); });CSS:
- .back-to-top {
- display: none;
- position: fixed;
- bottom: 10px;
- right: 10px;
- width: 100px;
- height: 40px;
- background: rgba(255, 64, 64, 0.7);
- color: rgba(255, 255, 255, 0.9);
- line-height: 3;
- text-align: center;
- font-size: 13px;
- font-weight: bold;
- font-family: verdana, sans-serif;
- cursor: pointer;
- z-index: 9999;
- }
- .back-to-top:hover {
- background: rgba(255, 16, 16, 0.8);
- color: rgba(255, 255, 64, 0.8);
- }
.back-to-top { display: none; position: fixed; bottom: 10px; right: 10px; width: 100px; height: 40px; background: rgba(255, 64, 64, 0.7); color: rgba(255, 255, 255, 0.9); line-height: 3; text-align: center; font-size: 13px; font-weight: bold; font-family: verdana, sans-serif; cursor: pointer; z-index: 9999; } .back-to-top:hover { background: rgba(255, 16, 16, 0.8); color: rgba(255, 255, 64, 0.8); }お好みで変更してください。
まとめ
真面目なページに突然こんなんがあったら嬉しくなりそう/show/ じゃないほうの jsFiddle:
0 件のコメント:
コメントを投稿