【jQuery】scrollTop();
ブログを作って欲しいと依頼があり、ビューにこだわってみようと思い、色々チャレンジ中です。
メニューバーをスクロール後一定の位置で固定したかったので、jQueryのscrollTop();を使ってみました。 ※よく使われる指定位置へスクロールを飛ばすパターンじゃないです、ご注意を!
使い方
$(function() { // スクロールしたら発動 $(window).scroll(function() { // スクロール量を変数に格納 let st = $(this).scrollTop(); }); });
このままだと変数stにinteger(数値)で位置情報が入るだけです。 あとは表示したければpタグなどにtextで付与ですね。
$('p').text("現在のスクロールの位置は:"+st); // 現在のスクロールの位置は:100みたいな感じです。
自分の場合は$(window)の部分をクラス指定できるかと思い、対象のクラスを入れ込んでみましたが、上手くいきませんでした。 無理くりですが、希望のスクロールの位置をif文で分けてやりたいUIの実装しました。
$(function(){ $(window).scroll(function (){ let st = $(this).scrollTop(); if (st >= 取得した数値){ // 行いたい処理 } else { // 行いたい処理 } }); });
備忘録+参考になる方がいれば良いなと思います!