HTML

スクロールをしたら特定の要素にクラスを追加する方法【HTML・CSS・jQuery】

ken-admin-suto

こんにちは!けんです。

  • スクロールをすることで特定の要素にクラスを追加する方法

この記事では、上記の内容をご紹介致します。

実装後の表示画面

まずは、実装後の表示画面を見ていきましょう。

See the Pen スクロールで特定の要素にクラスを追加する方法 by ken (@kensuto) on CodePen.

上記、スクロールすることで、

「テキスト」部分 文字色:白 背景:黒 になりました。

実装の流れ

続いて実装の流れを見ていきましょう。

・HTML

1<section>
2    <p class="text">テキスト</p>
3</section>

・CSS

15行目に注目。

“text”のクラスに”add”のクラスを追加することで、文字を白く・背景を黒くします。

1section {
2  height: 5000px;
3}
4
5.text {
6  width: 95%;
7  font-size: 20px;
8  text-align: center;
9  padding: 30px 0;
10  position: fixed;
11  font-weight: bold;
12}
13
14/* 注目 */
15.text.add {
16  background-color: #000;
17  color: #fff;
18}

・JS

下記のコードを記載しましょう。

コードの内容:100px以上スクロールすることで、”text”のクラスに”add”のクラスを追加します。

1// スクロールでクラス付与
2$(window).on("scroll", function () {
3  if (100 < jQuery(this).scrollTop()) {
4    // 100px以上スクロールしたら
5    jQuery(".text").addClass("add");
6  } else {
7    jQuery(".text").removeClass("add");
8  }
9});

※100pxは例で、数値は独自に変えることが可能です。(例:1000pxなど)

※.textやaddも、独自にクラスを変更できます。

今回は、文字色を変える・背景を変えるverをご紹介致しました。

クラスを付与することで、今回の実装以外にも様々なパターンの実装をすることが可能です。

独自にカスタマイズしてみましょう!

以上になります。

SNSも更新中!
気軽にフォローして下さい♪
ABOUT ME
けん
けん
ブロガー / WEB制作フリーランス
経歴:新卒でIT企業に就職 → 大学・企業・プラグラミングスクールで勉強した知識を活かしてフリーランスに → 最高月収50万円程
得意分野:WordPress/HTML/CSS/JS 等

Web制作を中心にフリーランスとして活動中。
Web制作に関する記事を投稿致します。
記事URLをコピーしました