2011-01-13 4 views
1

그래서 한 번에 하나씩 UL의 각 요소가 희미해질 것이라는 목록이 있습니다.토글 버튼 페이드 인/아웃 효과 - Jquery

$j(function(){ 
$j('#access-navi .sub').click(function(){ 
    $j(this).find('ul li a').each(function(i){ 
    $j(this).delay(i*150).fadeIn(500); 
    }); 
}); 
}); 

, 그래서 같이이 그들을으로 모니터하기 위해 노력하지만 난 다시 버튼을 클릭하면 있도록 만들려고 할 때, 그것은 아무것도하지 않습니다.

$j(function(){ 
$j('#access-navi .sub').click(function(){ 
    $j(this).find('ul li a').each(function(i){ 
    $j(this).delay(i*150).fadeToggle(500); 
    }); 
}); 
}); 

나는이로 변경하려고하지만 작동하지 않습니다 ..

을 나는 또한 제 2의 클릭에 페이드 아웃 페이드 버튼을 어떻게해야합니까.

HTML :

<div id="access-navi" role="navigation"> 
    <ul> 
    <li><a href="">Home</a></li> 
    <li class="sub"><a href="#">Code</a> 
    <ul> 
     <li><a href="">Html.Css</a></li> 
     <li><a href="">Java</a></li> 
     <li><a href="">jQuery</a></li> 
     <li><a href="">Php</a></li> 
    </ul> 
    </li> 
    </ul> 
    <div class="clear"></div> 
    </div> 
+0

죄송합니다 내가이 일 것을 추가하는 것을 잊었다을 페이드 아웃 클릭(); 그래서 '$'대신 '$ j'를 사용합니다. –

답변

0

난 당신이 뭔가를하려는 생각합니다. 토글 기능은 두 개 이상의 기능을 매개 변수로 받아들이고 클릭하면 교대로 기능을 실행합니다. var에 $ j를 = jQuery.noConflict : 그래서 먼저이 페이드 클릭, 두 번째는, 세 번째는 페이드 클릭 네 번째 등 아웃을 클릭

$j(function(){ 
    $j('#access-navi .sub').toggle(function(){ 
     $j(this).find('ul li a').each(function(i){ 
      $j(this).delay(i*150).fadeIn(500); 
     }); 
    }, function() { 
     $j(this).find('ul li a').each(function(i){ 
      $j(this).delay(i*150).fadeOut(500); 
     }); 
    }); 
}); 
+0

또한 두 번째로 함수를 클릭하면 아무 것도 나타나지 않습니다. 다시 "페이드 인"하려는 경우 왜 그런지 모르겠지만 .fadeIn() 전에 앵커를 숨겨야합니다(). –

+0

어떻게 링크가 더 이상 작동하지 않습니까? 하위 링크를 클릭하면 링크가 사라지지만 새 페이지는로드되지 않습니다. 왜 그런가? –