2009-06-04 11 views
0

私は同時にアクティブにすべきではない2つの要素を持っていますので、1つをトグルすると他の要素は消えますが、オープン要素をフェードアウトしてから他の1インチ。ハックではないこれを行う方法はありますか?アニメーション間のjQueryの遅れ

<script ="text/javascript"> 

$(function() { 
    $('#jlogin').click(function() { 
     $('#login').toggle('fast'); 
     $('#reg').fadeOut('fast'); 
    }); 

    $('#jreg').click(function() { 
     $('#reg').toggle('fast'); 
     $('#login').fadeOut('fast'); 
    }); 
}); 

</script> 

これは私の現在のスクリプトです。

答えて

2

fadeOutのコールバックメカニズムを使用して、アニメーションをチェーンすることができます。アニメーションメソッドのコールバックは、前のアニメーションが完了した後に呼び出されます。

<script type="text/javascript"> 
    $(function() { 
     $('#jlogin').click(function() { 
      $('#reg').fadeOut('fast', function() { 
       $('#login').toggle('fast'); 
      }); 
     }); 
     $('#jreg').click(function() { 
      $('#login').fadeOut('fast', function() { 
       $('#reg').toggle('fast'); 
      }); 
     }); 
    }); 
</script> 
+0

任意の簡単な例? –

+0

私の例を更新しました。私はもともとあなたがやろうとしていたことを誤解していたと思うが、この例では、削除すべき要素をfadeOutして、(おそらく)表示される要素を切り替えるべきである。トグルではなくショーを使用する必要がありますか? – tvanfosson

+0

私はアニメーションが好きなので、もともとトグルを使用して、より有益だろうと表示されますか?必要に応じて要素を再度開くことができる必要があります。 –

関連する問題