私はJquery Toggleサイドバーメニューを使用しているので、メニューをクリックするたびにメニューを押し下げてサブメニューを表示するための下向き矢印がメニューにあります。私の問題は、子メニュー/サブメニューがなく、下向き矢印がまだ表示されていて、それをクリックすると、下の同じレベルのメニューが表示されることです。Silverstripe のメニューを使用しています。子メニュー/サブメニューがある場合にのみ矢印を表示するにはどうすればよいですか?
/ -------------------------------------------------------------- こちら私のトグルメニューjs-------------------------------------------------- ---- /
$(document).ready(function() {
$('.second_level').hide();
$("div.menu > h3").css("background", "url(themes/tutorial/images/menuarrowdown.gif) no-repeat right");
$('div.menu > h3').click(function() {
$(this).next().slideToggle('fast', function() {
//set arrow depending on whether menu is shown or hidden
if ($(this).is(':hidden')) {
$(this).prev().css("background", "url(themes/tutorial/images/menuarrowdown.gif) no-repeat right");
} else {
$(this).prev().css("background", "url(themes/tutorial/images/menuarrowup.gif) no-repeat right");
}
return false;
});
});
});
/ ------------------------------------私のHTMLコードはこちら-------- -------------------------------------- /
<div id="productmenu"> <!-- productmenu starts -->
<div class="menu">
<h3><a href="#">Category 1</a></h3>
<ul class="second_level">
<li><a href="page.html">Option 1</a></li>
<li><a href="page.html">Option 2</a></li>
</ul>
</div> <!-- /menu -->
<div class="menu">
<h3><a href="#">Category 2</a></h3>
</div> <!-- /menu -->
<div class="menu">
<h3><a href="#">Category 3</a></h3>
<ul class="second_level">
<li><a href="page.html">Option 1</a></li>
<li><a href="page.html">Option 2</a></li>
<li><a href="page.html">Option 3</a></li>
</ul>
</div> <!-- /menu -->
</div><!-- /productmenu -->
/ ------------------------------------私のページはこちらです.ss------- ------------------------------------------------------ /
<% control Menu(2) %>
<h3><a href="$Link" title="Go to the "{$Title}" page">$MenuTitle</a></h3>
<% if Children %> <ul class="second_level">
<% control Children %>
<li class="$LinkingMode"><a href="$Link" title="Go to the "{$Title}" page">$MenuTitle</a></li>
<% end_control %></ul>
<% end_if %>
<% end_control %>
あなたの助けに感謝します。以下の例の写真を参照してください。
ありがとうサム
編集: メニューを食い尽くす問題を修正するには、<% control Menu(2) %> をメニューの終了 div の上に移動し、<% end_control %> を下に移動します。Js の解決策は、Matt の新しい Js を使用することです。マット、イアンク、マイロに感謝!私はあなたの助けに感謝します!