クルーデザイン

Webの勉強をしよう!Web制作の技術やサービス情報を発信します。

jQuery

jQuery ページの最上部へスクロールする処理(サンプル付き)

投稿日:

よく見かける「トップへ戻る」を作ってみます。
ホームページをいくらかスクロールしていくと、右下に出てくきて、ずっと付いてくるやつですね。
それをクリックすると、ページの最上部まで「ぎゅいーん」とスクロールします。
(たまにうっとおしく感じることがあります。)

意外と簡単に実装できますので、是非お試しください。
HTML & CSSとjQueryで実装できます。

サンプルも作っています。

 

こんな機能を作ってみます!

  1. 100px以上スクロールされると、画面右下に「トップへ」ボタンを固定表示する。
  2. スクロール量が100px未満の場合は「トップへ」ボタンを非表示にする。
  3. 「トップへ」ボタンをクリックするとページの最上部へスクロール移動する。

HTML(ページの最上部へスクロールする)

「トップへ戻る」のボタンを作ります。
最上部に「page-top」というクラスを付けておきます。
「href」で設定しているリンクは何でもOKです。
後に出てくるjQueryの処理でこのリンクはキャンセルされます。

 

CSS(ページの最上部へスクロールする)

「page-top」クラスを「position:fixed」にして右下に固定しています。
忘れがちですが「z-index」も指定して他の要素の後ろに回らないようにしておきましょう。

「a」タグは好きに装飾してもらってOKです。

 

jQuery(ページの最上部へスクロールする)

[ 2〜3行目 ]
最初は表示されていなくてもOKなので「トップへ」ボタンを非表示にしています。

[ 4〜6行目 ]
ページがスクロールされた時に実行される処理です。
「$(this).scrollTop()」で最上部からどれだけスクロールされているかの値が返ってきますので、「スクロール量が100pxを超えていたらフェードインで表示」「100px未満ならフェードアウトで非表示」にしています。

[ 7〜10行目 ]
「トップへ」ボタンがクリックされた時に実行されます。
「$(‘body,html’).animate」の部分はお決まりだと思ってください。
ブラウザによって「body」と「html」指定する要素が違うので初めから両方指定しておきましょうというやつですね。
「animate」の引数「scrollTop:0」は分かると思いますが、ページのスクロール量0の箇所、最上部を指定しています。
「500」は「500ミリ秒(0.5秒)でスクロールする」という意味です。
最後の「return false」はボタンのクリック処理を「キャンセル」しています。
これにより「aタグのリンク先に移動する」という処理がキャンセルされます。

サンプルも作ったので見てくださいね。

-jQuery

執筆者:

関連記事

jQuery テキストボックスのフォーカス時にテキストを全選択

サイトのUI(ユーザーインターフェイス)向上のためにテキストボックスがフォーカスされた時に、テキストボックスの内容を選択済みにして内容を変更しやすくしたい場合があります。 バックスペースで1文字ずつ削 …

jQuery 文字の大きさ(フォントサイズ)の変更(小中大)

jQueryで文字サイズの大きさを変更するボタンを作ってみようと思います。 行政のサイトで良く見かけますよね。 これもjQueryで簡単に実現できます。 昔からある機能なので古いイメージがありますが、 …

jQuery 絞り込み検索サンプル(正規表現)

jQueryを利用すれば、絞り込み検索機能も簡単に作成できます。 絞り込み検索機能とは、テキストボックスに入力した値とマッチするものを表示・マッチしないものを非表示にするような機能です。 以下のような …

jQuery クラスの追加・クラスの削除 クリックで色が付くメニュー(addClass・removeClass)

jQueryを使えば、タグにクラスを追加したり削除したりすることが簡単にできます。 今回はクリックされた「li」にクラスを追加して、クリックで色が付くメニューを作成してみようと思います。 こんなイメー …

jQuery CSSクラスの追加と削除

jQueryを使うとHTMLやCSSだけでは実現できないような動きをサイトに付けることができます。 今回は例としてボタンクリックされた時に「CSSのクラスを追加」もう一度クリックすると「CSSクラスを …


comment

メールアドレスが公開されることはありません。