以下の HTML コードをご覧ください。
<div class="accordion">
<ul>
<li class="box1">
<div class="normal"> CONTENT HERE </div>
<div class="expanded"> CONTENT HERE </div>
<div class="hidden"> CONTENT HERE </div>
</li>
<li class="box2">
<div class="normal"> CONTENT HERE </div>
<div class="expanded"> CONTENT HERE </div>
<div class="hidden"> CONTENT HERE </div>
</li>
<li class="box3">
<div class="normal"> CONTENT HERE </div>
<div class="expanded"> CONTENT HERE </div>
<div class="hidden"> CONTENT HERE </div>
</li>
</ul>
</div>
基本的には、jQuery プラグインを利用したアコーディオンです。3 つのボックスがあり、ユーザーがホバリングしているボックスに応じて、内側の div (通常、展開、非表示) を表示または非表示にしたいと考えています。シナリオは次のとおりです。
- デフォルトでは、すべての div.normal がデフォルトで表示され、div.expanded と div.hidden は非表示になります。
- たとえば、ユーザーが li.box1 にカーソルを合わせると、その div.expanded が表示され、div.normal と div.hidden が非表示になります。ただし、li.box2 と li.box3 の場合、それぞれ div.hidden のみが表示され、残りの div は非表示になります。
私はコードから始めましたが、どこにも行かないと思います。(私はデザイナーです。)
複雑に聞こえますが、jQuery を使用して簡単に実行できることはわかっています。
更新:これまでに行ったことは次のとおりです。
$(document).ready(function () {
$(".accordion li").hover(function () {
$(this).siblings().children(".normal").hide();
$(this).siblings()..children(".hidden").delay(700).show();
$(this).children(".expanded").delay(700).show();
}, function () {
$(this).siblings().children(".normal").delay(700).fadeIn("fast");
$(this).siblings().children(".hidden").fadeOut("fast");
$(this).children(".expanded").fadeOut("fast");
});
});