切换按钮淡入/淡出效果 - Jquery

时间:2011-01-13 21:38:08

标签: jquery toggle fadein fadeout

所以我有一个列表,我将逐一淡化UL的每个元素。像这样,

$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);
  });
 });
});

我试图将其更改为此,但这不起作用..

如何使淡入的按钮在第二次点击时淡出。

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>

1 个答案:

答案 0 :(得分:0)

我相信你想要这样的东西。切换功能接受两个或多个功能作为参数,并在单击时以交替方式执行功能。所以首先点击它淡入,第二次点击它淡出,第三次点击它淡入,第四次点击等等。

$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);
       });
   });
});