わかりました...基本的に、あなたがやりたい<div>
のは、各タブ内に要素を含めることです。ユーザーがタブの1つをクリックすると、jQueryは他の「ポップアウト」div要素が表示されていないことを確認してから、対応するdivを表示します。
例として3つのタブを取り上げます-
<div class="tab" id="pink">
<img src="http://placehold.it/160x160" width="160" height="160" />
<span class="tab_text">TITLE 01</span>
<div class="pop-out">Some pink information</div>
</div>
<div class="tab" id="turquoise">
<img src="http://placehold.it/160x160" width="160" height="160" />
<span class="tab_text">TITLE 02</span>
<div class="pop-out">Some turquoise information</div>
</div>
<div class="tab" id="yellow">
<img src="http://placehold.it/160x160" width="160" height="160" />
<span class="tab_text">TITLE 03</span>
<div class="pop-out">Some yellow information</div>
</div>
id
属性を使用するたびに、それぞれが一意であることに注意してください。表示される属性が同じ値を持つことができるid
のとは対照的に、属性は常に一意の値を持つ必要があります。class
class="pop-out"
pop-out
すべてのポップアウトdiv要素を識別する方法になります
- ユーザーがタブをクリックすると、クラスが追加されます
sel
(選択済みの略)。最後に開いたdiv(ある場合)を追跡し、新しいdivを開く前に必ず閉じてください。
ここで、トリガーをタブ全体にしたいとします。ユーザーがそれをクリックすると、どこでもポップアウトがトリガーされます。
$(".tab").on('click',function(){
$("div.pop-out.sel").fadeOut().removeClass('sel'); // this will hide the last selected div and remove its selected class
$(this).find("div.pop-out").fadeIn().addClass('sel'); // this will display the div of the element the user clicked and add the selected class.
}
もちろん、好きなアニメーションに置き換えることができます。
これで、-を使用して開いているタブを追跡することもできます。
$("div.pop-out.sel").closest("div.tab");
これにより、現在表示されているポップアウトdivの親が返されます。選択したdivが実際に最初に存在するかどうかをテストすることを忘れないでください :)