У меня есть следующая структура меню, определенная на главной странице:
<asp:ContentPlaceHolder ID="SubNavigation" runat="server">
<ul>
<li><%= RenderLink("item 1", "/item1/", null, null) %></li>
<li><%= RenderLink("item 2", "/item2/blah/", null, "nofollow")%></li>
<li><%= RenderLink("item 3", "/item3/blah/", null, "nofollow") %></li>
</ul>
</asp:ContentPlaceHolder>
Когда люди перемещаются по сайту, вызывается метод RenderLink и проверяется, актуален ли пользователь на запрошенной странице и отображаетэто как тег с определенным CSS.
Теперь я хочу добавить подменю, например, так:
<asp:ContentPlaceHolder ID="SubNavigation" runat="server">
<ul>
<li><%= RenderLink("item 1", "/item1/", null, null) %></li>
<li><%= RenderLink("item 2", "/item2/blah/", null, "nofollow")%></li>
<li><%= RenderLink("item 3", "/item3/blah/", null, "nofollow") %></li>
<li class="topitem">
<%= RenderLink("Item 4", "/Item4/blah/", null, null) %>
<ul class="sublist">
<li class="subitem">
<%= RenderLink("subitem4a", "/subitem4a/blah/", null, null) %></li>
<li class="subitem">
<%= RenderLink("subitem4b", "/subitem4b/blah/", null, null) %></li>
<li class="subitem">
<%= RenderLink("subitem4c", "/subitem4c/blah/", null, null) %></li>
</ul>
</li>
</ul>
Я пытаюсь использовать jquery, чтобы, когда пользователь нажимает на элементс классом topitem, пользователь перенаправляется на соответствующий URL, и затем отображается подменю, как только пользователь покидает страницу, которая не является topitem или какими-либо подэлементами, подменю закрыто.
Я былпробуя следующий jquery, но не испытывал никакой радости ...
$(document).ready(function() {
$('li.topitem > a:first-child').siblings().toggle();
});
очевидно, что это имеет эффект, показывающий / скрывающий любые li.topitems и его братьев и сестер, что не хорошо, если есть другойподменю, определенное в структуре моего меню.
Как лучше всего справиться с этим в jQuery?