【jQuery】横スクロールできますよーとご案内、横スクロールするとご案内が消える、実装サンプル

デザオ
ここは横スクロールできますよー
デザコト
ってご案内してそっと消えましょう

早速サンプル

スマホ表示で「横スクロールできますよー」ってご案内を載せたい。でも横スクロールしたらそのご案内は消したい。jQueryで簡単に指定してみます。

コードを見る(HTML・CSS・jQuery)

HTML

<section class="box_wrap">
  <div class="box_section">
    <div class="box_area">
      <div class="scroll">
        <p>横スクロールできますよー</p>
      </div>
      <div class="inner">
        <div class="box">
          <h3>1</h3>
          <a href="https://125naroom.com/web/4986" target="_blank" class="_a">詳しくはこちら</a>
        </div>
        <div class="box">
          <h3>2</h3>
          <a href="https://125naroom.com/web/4986" target="_blank" class="_a">詳しくはこちら</a>
        </div>
        <div class="box">
          <h3>3</h3>
          <a href="https://125naroom.com/web/4986" target="_blank" class="_a">詳しくはこちら</a>
        </div>
        <div class="box">
          <h3>4</h3>
          <a href="https://125naroom.com/web/4986" target="_blank" class="_a">詳しくはこちら</a>
        </div>
      </div>
    </div>
  </div>
</section>

CSS

.box_wrap {
  max-width: 450px;
  margin: 0 auto;
  padding: 50px;
}
.box_section {
  max-width: 1024px;
  margin: 0 auto;
}
.box_area {
  overflow-x: auto;
  position: relative;
}
.box_area .scroll {
  position: absolute;
  top: 70px;
  left: 0;
  right: 0;
  width: 200px;
  padding: 10px;
  margin: 0 auto;
  background-color: rgba(43, 42, 39, 0.8);
  border-radius: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  z-index: 2;
}
.box_area .scroll p {
  margin: 0;
}
.box_area .inner {
  display: flex;
  justify-content: space-between;
  width: 1024px;
}
.box_area .box {
  background-color: #e8dc6a;
  width: 24%;
  padding: 30px 15px 50px;
  box-sizing: border-box;
}
.box_area .box h3 {
  color: #2b2a27;
  text-align: center;
  margin: 0 0 20px;
}

/* ボタン(見た目。なくても動きます) */
a._a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  padding: 2.0em 1.0em;
  border: 1px solid #2b2a27;
  background: linear-gradient(to right, #ffffff 50%, #2b2a27 50%);
  background-size: 200% auto;
  box-sizing: border-box;
  color: #2b2a27;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  transition: .3s;
  position: relative;
}
a._a:after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -5px;
  width: 100%;
  height: 100%;
  border-right: 1px solid #2b2a27;
  border-bottom: 1px solid #2b2a27;
}
a._a:hover {
  color: #ffffff;
  background-position: -100% 0;
}

/* 動きを減らす設定のとき */
@media (prefers-reduced-motion: reduce) {
  a._a { transition: none; }
}

jQuery

$(function(){
  $('.box_area').on('scroll', function(){
    $(this).find('.scroll').hide();
  });
});

メモ

jQueryのことで何かわからないことがあればjQueryの日本語リファレンスサイトがあるので一度チェックしてみるといろいろ解決できたりしますよ。

さいごに

デザオ
そっと消えましたねー
デザコト
そっとしたご案内ですからねー

ふたりの小言

デザコトauthor

あ、いいな、と思うWebデザインを紹介しています。デザインの参考に。やさしいデザインが多いです。Webデザインギャラリー『デザインのこと - Web design gallery』を運営しています。