Я использую эту HTML-структуру:
<div id="products">
<ul>
<li class="selected"><a href="#">Item 1</a>
<ul>
<li><a href="#">Sub-Item 1 a</a></li>
<li><a href="#">Sub-Item 1 b</a></li>
<li><a href="#">Sub-Item 1 c</a></li>
</ul>
</li>
<li><a href="#">Item 2</a>
<ul>
<li><a href="#">Sub-Item 2 a</a></li>
<li><a href="#">Sub-Item 2 b</a></li>
</ul>
</li>
<li><a href="#">Item 3</a>
<ul>
<li><a href="#">Sub-Item 3 a</a></li>
<li><a href="#">Sub-Item 3 b</a></li>
<li><a href="#">Sub-Item 3 c</a></li>
<li><a href="#">Sub-Item 3 d</a></li>
</ul>
</li>
<li><a href="#">Item 4</a>
<ul>
<li><a href="#">Sub-Item 4 a</a></li>
<li><a href="#">Sub-Item 4 b</a></li>
<li><a href="#">Sub-Item 4 c</a></li>
</ul>
</li>
</ul>
</div>
и этот код jquery:
$(document).ready(function () {
$("#products li").click(function() {
if ($(this).attr('class') != 'selected') {
$('#products li').removeClass('selected');
$(this).addClass('selected');
}
});
$("#products li").click(function() {
$('#products li ul').slideUp();
$('#products li.selected ul').slideDown();
});
});
Проблема:
Я хочу, чтобы слайд только вверх и внизвлияние на элементы первого уровня (
), а не на подпункты
, другая проблема - если элемент списка уже class = "selected" и вы щелкаете по нему, он скользит вверх, а затем сновавниз .. (ничего не должно случиться, если оно уже есть)
Может кто-нибудь помочь с кодом jquery?