cssとJSで動作するフローティングバナー(スティッキーバナー)

  • 2020.08.11
  • CSS
cssとJSで動作するフローティングバナー(スティッキーバナー)
スマホサイトなんかでよく見るけど途中から出現してずっとついてくるバナーってあるよね。あれってどうやって設置するの?

フローティングバナーだねスティッキーバナーともいうけど、cssとJSの組み合わせでできるよ。

今回はふわっと出現してそのままスクロールに追従するフローティングバナーの設置になります。
cssで画像バナーを追従する仕組みをつくり、JSで設置場所に近づいたらふわっと出現させる仕掛けを作成します。

cssによる追従バナー(フローティング・スティッキー)の作成

今回はjQueryも使用しますので</head>の直前に以下を記入してjQueryを読み込んでくだだい。

次にcssで追従バナーの仕掛けを作成します。

上記のfloating-bannerが追従バナーの要素になります。今回はPC用とスマホ用の2種類を用意しましたので「floating-banner」とfloating-banner_sp」の2種類を記述しています。
fade_offというのはページ読み込みの時点で、バナーを出現させないための記述です。

バナーを設置したい箇所に以下のように<section>と<div>で記述します。
画像のwidthとheighそれぞれ100%で記述してください。

ここではfloating-bannerとfloating-banner_spで2種類のデバイスごとによって読み込みを分けております。それぞれ、<div class=”㍶”>と<div class=”sp”>という入れ子で囲まれていますが、
これはパソコンとスマホで読み込みを分ける記述です。これらを機能させるためcssには以下のように記述します。

こうすることでパソコンとスマホで異なる画像バナーを表示させることも可能になります。

JSによるふわっと出現させる仕掛け

cssによる作業はここまでとなります。
次にJSによるスクロールでバナー設置箇所に近づいたらふわっと出現させる仕組みになります。
さきほどバナーを設置した箇所に記述した<div>の直前に以下のように記述しましょう。

これで事前にcssで非表示にしていた要素(fade_off)がスクロールで可視範囲に入ったタイミングで出現し、また可視範囲から出た場合はフェードアウトします。
以下はデモになりますが、パソコンでは紺色の画像、スマホでは緑色の画像が表示されるようになっております。


CSSカテゴリの最新記事