按顺序切换和淡化效果

时间:2011-02-17 03:58:01

标签: jquery

我希望在jQuery中切换滑动然后淡入和淡出然后滑动效果。是否可以使用toggle执行此类操作?我目前有:

<a href="#" id="toggle">more</a>

<div id="about">
  <p id="info">...</p>
</div>

<script>
  $('#toggle').click(function() {
    $('#about').toggle('fast', function() { $('#info').fadeIn(); });
  });
</script>

但它仅适用于初始点击。可以将两个函数添加到切换之间的点击吗?是否存在一种在不跟踪状态变量的情况下执行上述操作的方法?谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使用is()和:visible来检查状态。 试试这个:

<script>
  $('#toggle').click(function() {
        var about = $("#about")
        if(about.is(':visible')){
            $('#about').toggle('fast', function() { $('#info').fadeOut(); });
        }
        else{
            $('#about').toggle('fast', function() { $('#info').fadeIn(); });
        }

  });
</script>

答案 1 :(得分:1)

您可以考虑使用FadeToggle

http://api.jquery.com/fadeToggle/

<script>   
$('#toggle').click(function() {     
    $('#about').toggle('fast', function() { 
      $('#info').fadeToggle(); 
    });   
}); 
</script> 

答案 2 :(得分:0)

解决:

$("#info").toggle(
  function () { $("#about").toggle('fast', function () { $("#info").fadeToggle('fast'); }); },
  function () { $("#info").fadeToggle('fast', function () { $("#about").toggle('fast'); }); }
);