当サイトでもPROFILEのページでも実装しているアコーディオンパネル。サイトに動きをつける!となった時に比較的簡単に実装できるものとしてアコーディオンパネルがありますが、今回はアコーディオンパネルについて解説したいと思います!
1. アコーディオンパネルを実装するHTMLソース
まず、今回は以下のようにソースを設定したとします。
3 | < dd >本文本文本文本文本文本文本文本文本文本文</ dd > |
こちらに以下のようにCSSを設定して形を整えます。
6 | border : 1px solid #ccc ; |
11 | border : 1px solid #ccc ; |
このように設定することで、以下のようにデザインが適用されます。
2. アコーディオンパネルを実装するjQuery
それでは、いよいよアコーディオンパネルを実装するjQueryを記述していきます!そのコードは以下になります。
1 | < script src = "http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js" ></ script > |
4 | $('dd').hide(); //デフォルトではddを隠す |
5 | $('dt').click(function(){ //dtをクリックした時 |
6 | $(this).next("dd").slideToggle(); //隠れてたddをスライドして表示させる |
このコードを記述することで
上のようにアコーディオンパネルを実装することができます!
応用:アコーディオンに矢印を表示させる
続いて応用として、当サイトのPROFILEページのアコーディオンでも表示しているように、アコーディオンの見出しをクリックするまでは下矢印を表示させて、見出しをクリックしてアコーディオン部分が展開した時には上矢印を表示させる…みたいなこともできるとデザインとしてわかりやすいと思います。
例えば以下のようにデザインを設定したとします。
このように設定するには、dtをクリックした時にtoggleclassでクラスを追加し、CSSでデザインを設定する必要があります。
それには以下のようにjQueryを記述してあげます。
4 | $('dt').click(function(){ |
5 | $(this).toggleClass("ac"); |
6 | $(this).next("dd").slideToggle(); |
このようにjQueryを記述することで、dtをクリックした時にdtにclass: acを追加/削除させることができるようになります。
そして、CSSを以下のように記述して矢印を表示させるようにします。
8 | border-right : 1px solid #000 ; |
9 | border-bottom : 1px solid #000 ; |
13 | transform: rotate( 45 deg); |
19 | border-left : 1px solid #000 ; |
20 | border-top : 1px solid #000 ; |
26 | transform: rotate( 45 deg); |
このようにjQueryおよびCSSを記述してあげることでよりデザインの凝ったアコーディオンパネルを実装できるようになると思いますので、是非ご活用ください(*^-^)