Эффект постепенного появления / исчезновения кнопки переключения - Jquery - PullRequest
1 голос
/ 14 января 2011

Итак, у меня есть список, который я буду постепенно исчезать в каждом элементе 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 голосов
/ 14 января 2011

Я верю, что вы хотите что-то подобное.Функция переключения принимает две или более функций в качестве параметров и выполняет функции поочередно при нажатии.Поэтому первый щелчок исчезает, второй щелчок исчезает, третий щелчок исчезает, четвертый щелчок и т. Д.

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