それぞれが「id」を介して独立したdivに接続する、アイテムの水平リストを表示したいと思います。アイテムに接続されたdivをtoggleFadeにしたい。デフォルトでは、すべての div が非表示になります。その後、ユーザーが別のアイテムをクリックすると、以前に開いていた div が閉じます。
html は次のとおりです。
<div id="menu">
<ul>
<li><a class="menuitem" href="#smPlates">Small Plates</a></li>
<li><a class="menuitem" href="#salads">Salads</a></li>
<li><a class="menuitem" href="#burgers">Burgers</a></li>
<li><a class="menuitem" href="#desserts">Desserts</a></li>
</ul>
<!-- Small Plates menu -->
<div class="menubox" id="smPlates">
<p>Content of smPlates</p>
</div>
<!-- Salads menu -->
<div class="menubox" id="salads">
<p>Content of salads</p>
</div>
<!-- Burgers menu -->
<div class="menubox" id="burgers">
<p>Content of burgers</p>
</div>
<!-- Desserts menu -->
<div class="menubox" id="desserts">
<p>Content of desserts</p>
</div>
</div>
効果的にdivをトグルフェードする次のjQueryコードがありますが、それらはすべて、 attr('id') を使用して各リスト項目に対応するdivを取得しようとしましたが、機能しませんでした:
$(document).ready(function() {
$(".menubox").hide();
$(".menuitem").click(function(event) {
event.preventDefault();
var menubox = $(".menubox");
$(".menubox").not(menubox).hide()
menubox.fadeToggle("slow","linear");
});
});
私は jQuery にあまり習熟していません。ヘルプやガイダンスをいただければ幸いです。