간단한 작업을 수행하려고합니다. 중첩 된 UL이있는 2 단계 메뉴가 있습니다. 내부 UL은 display : none으로 설정되므로 기본 범주 만 표시됩니다. 기본 범주에서 기본 onclick 동작을 방지하고 해당 내부 UL을 제쳐두어 페이드하고 싶습니다.Jquery inner UL FadeIn/FadeOut
<nav id="type-navigation">
<ul id="nav_categories" class="subs">
<li><a href="#">Category 1</a>
<ul>
<li><a href="#">Link1</a></li>
<li><a href="#">Link2</a></li>
<li><a href="#">Link3</a></li>
</ul>
</li>
<li><a href="#">Category 2</a>
<ul>
<li><a href="#">Link1</a></li>
<li><a href="#">Link2</a></li>
<li><a href="#">Link3</a></li>
</ul>
</li>
</ul>
</nav>
I이 사용하는 jQuery를하고 싶으면 :
내 HTML이입니다. 첫 번째 카테고리를 클릭하면 자녀 UL을 FadeIn 옆에 표시해야합니다. 다른 카테고리를 클릭하면 이전에 표시된 UL은 FadeOut이고 다른 카테고리 UL은 FadeIn이어야합니다.
이 내 jQuery를하고는 예상대로 작동하지 않습니다 :
$("ul li a").toggle(function() {
$(this).children("ul").fadeIn("slow");
},
function() {
$(this).children("ul").fadeOut("slow");
});
지금은 어떻게됩니까? 무엇이 달라야 하는가? – Thomas
우선, 첫 번째 범주 링크를 클릭하면 리소스로 이동합니다 ... 예제에서는 실제로 링크가 없습니다. #. 실제로 위의 메뉴가 dinamically 생성되고 모든 # 사실/products/category, 첫 번째 레벨에 대한 링크입니다 ... 나는 어떻게해서든지 preventDefault 링크로 이동하려면 첫 번째 카테고리 링크로 비활성화해야합니다 페이드 인 활성화 – Milksamsa