DESIGN BLOGデザイン事務所の制作ブログ

【jQuery】slideToggleを使って要素をクリックで要素を表示・非表示させる

JO
株式会社ビーエムビー

「Q&A」などでよく使われる、クリックすると詳細が表示される、アコーディオンメニュー。この記事では、そのアコーディオンメニューを、jQueryのslideToggleというメソッドを使って作成する方法をご紹介します。

1、slideToggleの使用例 まずはjsの記述について

<script>
$(function($){
$('ul.qa li .question').click(function(){
$(this).toggleClass('open');
$(this).next('answer').slideToggle(150);
});
});
</script>

2、次は関連するHTMLの書き方例

<ul class="qa">
<li>
<div class="question"><span>Q.</span>お申し込み方法は?</div>
<div class="answer"><span>A.</span>クレジットカード(ご本人名義)でのご精算となります。デビットカード・プリペイドカード・現金でのお支払いはご利用いただけません。法人のお客様は請求書でのお支払も可能です。</div>
</li>
<li>
<div class="question"><span>Q.</span>お申し込み方法は?</div>
<div class="answer"><span>A.</span>クレジットカード(ご本人名義)でのご精算となります。デビットカード・プリペイドカード・現金でのお支払いはご利用いただけません。法人のお客様は請求書でのお支払も可能です。</div>
</li>
</ul>

以上、こんな感じで「question」のクラスがついたHTMLをクリックすると、
①クリックした要素($this)に、openのクラスを付与(addClass)して、矢印アイコンなどの向きを変えたりする。
②クリックした要素に隣接(直下のみ)の「answer」のクラスを持つ要素を表示する(show)。

これらの「addClass」も「show」もどっちもトグル(toggle)なので、カチカチクリックするごとに「removeClass」と「hide」を繰り返す。
その結果、質問文章をクリックしたら答えがパカッと開いて、もう一回押すと閉じる動きになってるよ。

注意したいのは、上記の記述は一度クリックした質問と答えは次の質問をクリックした時に閉じるものではなく、開きっぱなしバージョンということ。
そんな時はクリックしたもの以外「.not()」を使います。

「li.question」のとこで説明すると、「$('ul.qa li .question').not(this).removeClass('open');」こんな感じ。
questionクラスを持ったliだけど、クリックしたli.question以外からopenのクラスを除去するっていう内容です。同様にanswer側も「hide()」を使って非表示にしたら完成。正解コードはあえて書かないので、やってみて分からなければ誰か先輩に教わってください。

株式会社ビーエムビー

株式会社ビーエムビー

〒114-0031 東京都北区十条仲原1-4-8 商店街会館311 TEL&FAX:03-5948-5996

東京都北区のWEBやDTP(印刷物)のデザイン制作会社です。ホームページ制作やLP(ランディングページ)の作成、ECサイト(楽天ストアなど)の構築などのWEBデザイン、チラシ・ポスター・名刺・パンフレット・看板などの印刷物デザインに対応しています。お客様の業務形態や用途に合わせたwordpressによるCMSサイトをフルスクラッチにて構築することが可能です。お気軽にお問い合わせください。

その他の制作ブログ一覧

【写真付き】エックスサーバーでWordPressをインストールする方法 この記事ではエックスサーバーで wordpressを簡単インストールする方法 を写真付きで詳しく説明しています。すでにエックスサーバーの契約と独自ドメインの設定が完了している方を対象に、サーバーパネルにログインするところから 実際に WordPress 管理画面にログインできるまでの流れを順を追って説明していきます。 1.サーバーパネルにログインする エックスサーバーのログインページ(… WEB制作wordpressWordPress
知られざるHTMLタグ!知っておくと便利なタグ10選 HTMLはウェブページを構築するための基盤で、一般的に使われるタグはよく知られています。しかし、実際にはあまり注目されていないけれど、便利で強力なタグもたくさんあります。今回は、あまり知名度のないけれど知っておくと便利なHTMLタグを紹介し、その使い方とメリットを解説します。 1. <details> と <summary> 使い方: これらのタグは、ユーザーがクリック…
【CSSのtransformとは?】使い方とアニメーション応用を解説 transform は、CSSの中でも非常に強力で、動きやアニメーションを加えるために使われるプロパティです。本記事では、CSS transform の基本的な使い方から、アニメーションへの応用例まで、わかりやすく解説します。 CSSのtransformとは?基本を押さえよう transformプロパティとは transform プロパティは、HTML要素の見た目を変形させるためのCSS… CSS
【CSS疑似クラス】知っていると便利!::before / ::after 以外にも疑似クラスはたくさん! CSSの世界で「疑似クラス」と聞いて真っ先に思い浮かぶのは、::before や ::after という人が多いのではないでしょうか? 確かに、これらは装飾的な要素を追加したり、アイコンを表示したりするのにとても便利です。でも実は、CSSにはそれ以外にも便利な疑似クラスがたくさん用意されているんです。 この記事では、意外と見落とされがちな疑似クラスをピックアップしてご紹介します!ちょ…
VPN接続とは?オススメVPNサーバーもご紹介! VPN接続とは?おすすめのVPNサーバーの選び方【初心者向けガイド】 インターネットの利用が日常的になった今、「VPN」という言葉を耳にする機会も増えたのではないでしょうか?この記事では、VPN接続の基本的な仕組みから、あなたにぴったりのVPNサーバーの選び方までをわかりやすく解説します。 VPN接続とは? VPN(Virtual Private Network)は、「仮想専用線」とも呼ばれ… WEB制作
一覧に戻る