タブ

デモ

タブ1

タブ2

タブ3

現在1番目のタブを選択中です。

現在2番目のタブを選択中です。

現在3番目のタブを選択中です。

JSコードコピー

使い方

まずdiv要素(①)を1つ作り、そこにdata-jscopyand="tab"を付与してください。
続いて①の子要素で、トリガー要素をまとめるdiv要素(②)を1つ、切り替わるコンテンツ要素をまとめるdiv要素(③)を1つ作ってください。
最後に②と③の子要素に必要な数のトリガー・コンテンツ要素を作ってください。

関連するトリガー要素のコンテンツ要素の順番は同じになるようにしてください。
2番目のトリガー要素がクリックされたら2番目のコンテンツ要素を表示する、という仕組みになっています。

サンプルHTMLを表示する

解説

JSコードの解説を見てみる

タブ要素を特定し、変数に格納します。
タブ要素の1番目の子要素をトリガー要素のまとまり、2番目の子要素をコンテンツ要素のまとまりとしてそれぞれ変数に格納します。
childrenで取得した値はそのままでは反復処理ができないため、Array.from()で配列に変換します。

コンテンツ要素は反復処理で一度全て非表示にしておきます。

表示状態を切り替える関数を定義します。
引数には何番目を表示・非表示にするか?という値を受け取ります。
この引数を利用して、トリガー要素はアクティブクラスの付け替え、コンテンツ要素はdisplayスタイルで表示の切り替えを行います。

現在のアクティブなタブ番号を保持する変数を用意します。
初期状態では1番目が選択されるように0を設定し、関数activateを呼んで1番目を表示しておきます。

全てのトリガー要素にクリックイベントを設定するため、反復処理を行います。
表示切り替え関数を呼び出すとともにactiveIndexを更新します。

ヘルプ・コンタクト

機能に関するご質問は、このページの下部に表示されている Twitter のアイコンから Twitter に遷移後、 DM 等でご連絡ください。
導入サポートやカスタマイズも有償にてお受け致しますので、 DM 等でご連絡ください。

他のコードを探す

リクエスト受付中です。
Twitter の固定ツイートか DM にてご連絡ください。