TEORICO

トップへ戻るボタンなどをふわっと出す方法

トップへ戻るボタンなどをふわっと出す方法

jQueryで特定のものをふわっと出す方法

jQueryで特定のものをふわっと出す方法

よくあるトップへ戻るボタンなど、セレクタを指定することで他のものもフェードインさせることが出来ます。

jQueryの内容

//セレクタ名はボタンのID名かクラス名このjqueryでは全て同じセレクタ名にする 
$(function () {
  const selecter = $('セレクタ名');
  selecter.hide(); 
  
  //画面をスクロールした時に実行
  $(window).on('scroll', function () {
    //200pxスクロールした時に実行する 
    if ($(this).scrollTop() > 200) {
      //フワッとだす 
      selecter.fadeIn();
    } else {
      //フワッと消す 
      selecter.fadeOut();
    }
  });
});

解説

まずは変数の宣言です。

var ではなく const としていますが、特に深い意味はありません。

(もちろん var でも問題はありません。)

selecterに代入する $(‘セレクタ名’);

ですが、まずはHTML側にスクロール時にふわっと表示させたい対象に対して、クラス名またはID名を記述してあげてください。

そして、そのクラス名やID名を指定してあげます。

selecter.hide();

これはjQueryのhideメソッドを利用して対象を非表示にするというものです。

CSSで最初からdisplay:none;にしていてもOKです。

$(window).scroll(function () {

この記述はスクロール時にイベントが起きます。

if文を使い、scrollTopメソッドを利用してページのトップからのスクロール量を比較させ一定のスクロール量(今回は200)を超えたらTRUE、そうでない場合はFALSEとしています。

(200という数値はトップからのスクロール量ですので、変更したい場合は変更してください)

TRUEの場合、fadeInメソッドにより、フェード、つまりふわっと出しています。

FALSEの場合、fadeOutメソッドにより、だんだんと非表示になっていく。という処理を行わせています。

スクロールする度にこの判定は行われますので、トップから一定値を超えたら表示、トップに戻るに連れて非表示ということが行われます。

今回使用したメソッド

// 要素をdisplay:noneにする
$('セレクタ名').hide();
// ページのトップからのスクロール量を取得
$('セレクタ名').scrollTop();
// フェードイン(ふわっと表示)
$('セレクタ名').fadeIn();
// フェードアウト(じわっと消える)
$('セレクタ名').fadeOut();