🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

2062閲覧

タブの切り替え、複数個所を同時に切り替える方法

masao1991

総合スコア15

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/11/14 01:38

編集2019/11/15 09:59

コピペマークアップエンジニアです。JS,jQueryは赤ちゃんです。

WEBサイト実装において、タブでの表示・非表示を実装しています。

単体では機能しますが、複数&別のDIV要素内で実装しようとすると、HTMLで最初のアンカーリンクのHTMLのみ切り替わってしまって躓いております。

実現したいこと

別々の箇所に配置されたDIV要素( .example2, .example3 の部分)のtab切り替えを、.tabsと同時に表示・非表示させたい

実装中のコード

HTML

1<div class="example2"> 2 ここの要素内も、下のタブ切り替えと同期させたい。 3</div> 4 5<div class="example3"> 6 ここの要素内も、下のタブ切り替えと同期させたい。 7</div> 8 9<div class="wrap"> 10 <ul class="tabs group"> 11 <li><a class="active" href="#/one">TAB 1</a></li> 12 <li><a href="#/two">TAB 2</a></li> 13 <li><a href="#/three">TAB 3</a></li> 14 </ul> 15 <div id="content"> 16 <p id="one"> TAB 1 のコンテンツ内容 </p> 17 <p id="two"> TAB 2 のコンテンツ内容 </p> 18 <p id="three"> TAB 3 のコンテンツ内容 </p> 19 </div> 20</div> 21 22<script 23 src="https://code.jquery.com/jquery-2.2.4.min.js" 24 integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" 25 crossorigin="anonymous"> 26</script> 27

jQuery

1(function($) { 2 3 var tabs = $(".tabs li a"); 4 5 tabs.click(function() { 6 var content = this.hash.replace('/',''); 7 tabs.removeClass("active"); 8 $(this).addClass("active"); 9 $("#content").find('p').hide(); 10 $(content).fadeIn(200); 11 }); 12 13})(jQuery);

配置に関しては、アンカーリンクのある.tabsよりも、上にあるコンテンツ、という位置関係で、
.example2, .example3 も一緒に表示・非表示させたいです。

cssは無視でかまいません。

もしお答えいただけたら幸いです!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

azuapricot

2019/11/14 01:59

css はありますか? 再現可能なコードをご提示ください
masao1991

2019/11/14 02:29

ありがとうございます! cssは無視してもらってかまいません。プレーンな状態で動けばOKです。 質問内容に「動作サンプル」追記しました!
guest

回答1

0

ベストアンサー

CSS

1<style> 2#tab1,#tab2,#tab3{display:none} 3.example2 , .example3 ,#one,#two,#three{display:none} 4#tab1:checked ~ .wrap #one{display:block;} 5#tab1:checked ~ .wrap #one{display:block;} 6#tab2:checked ~ .wrap #two{display:block;} 7#tab3:checked ~ .wrap #three{display:block;} 8 9#tab1:checked ~ .wrap #a1{color:red;} 10#tab2:checked ~ .wrap #a2{color:red;} 11#tab3:checked ~ .wrap #a3{color:red;} 12 13#tab2:checked ~ .example2{display:block;} 14#tab3:checked ~ .example3{display:block;} 15 16</style> 17<input type="radio" name="tab" id="tab1" value="1" checked> 18<input type="radio" name="tab" id="tab2" value="2"> 19<input type="radio" name="tab" id="tab3" value="3"> 20<div class="example2"> 21 (2)ここの要素内も、下のタブ切り替えと同期させたい。 22</div> 23 24<div class="example3"> 25 (3)ここの要素内も、下のタブ切り替えと同期させたい。 26</div> 27 28<div class="wrap"> 29 <ul class="tabs group"> 30 <li><a id="a1" href="#/one"><label for="tab1">TAB 1</label></a></li> 31 <li><a id="a2" href="#/two"><label for="tab2">TAB 2</label></a></li> 32 <li><a id="a3" href="#/three"><label for="tab3">TAB 3</label></a></li> 33 </ul> 34 <div id="content"> 35 <p id="one"> TAB 1 のコンテンツ内容 </p> 36 <p id="two"> TAB 2 のコンテンツ内容 </p> 37 <p id="three"> TAB 3 のコンテンツ内容 </p> 38 </div> 39</div>

投稿2019/11/14 01:58

yambejp

総合スコア116661

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masao1991

2019/11/14 02:31

ありがとうございます! cssで再現できるのですね、こちらの方法でも試してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問