クラス「ページ」を持つ3つのdivがあります。各 div には、div に関するいくつかの情報を示す "info" div があります。
私が達成したかったのは、「ページ」divの下のテキストをクリックすると、フェードアウトし、「情報」がフェードインすることです。
jQuery についてほとんど何も知らなくても、なんとかこれを機能させることができました。私のHTMLは:
<div id="content">
<div class="page"><p class="click">Click me to open</p></div>
<div class="info"><div class="closebut"></div></div>
<div class="page"><p class="click">Click me to open</p></div>
<div class="info"><div class="closebut"></div></div>
<div class="page"><p class="click">Click me to open</p></div>
<div class="info"><div class="closebut"></div></div>
</div>
私のjQueryは次のとおりです。
$(document).ready(function(){
$(".info").hide();
$("p.click").click(function(){
$(".page").fadeOut("slow", function(){ $(".info").fadeIn(); });
});
$(".closebut").click(function(){
$(".info").fadeOut("slow", function(){ $(".page").fadeIn(); });
});
});
そのため、ドキュメントが読み込まれると、jQuery は ".info" div を非表示にします。段落「.click」をクリックすると、「.page」がフェードアウトし、最後に「.info」がフェードインします。次に、閉じるボタン (.closebut) として機能する X の小さなイメージがあります。
すべてがうまく機能します。ただし、最初の「p.click」をクリックすると、すべての「.page」がフェードアウトし、すべての「.info」がフェードインします。
5 つ以上の ".page" + ".info" が必要になるため、一度に 1 つの div をフェードアウト/フェードインする最も簡単な方法は何ですか?
つまり、html でさらにクラスを作成したり、jQuery コードを拡張したりせずに.. よろしくお願いします。