2009-06-04 220 views
0

我有兩個元素不應該同時處於活動狀態,所以當一個元素被切換時,我會淡化另一個元素,但是我希望能夠淡化打開的元素,然後將另一個英寸。有沒有辦法做到這一點,不是黑客?動畫之間的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

任何快速示例? – 2009-06-04 16:18:12

+0

我更新了我的例子。我想我最初誤解了你正在做的事情,但這個例子應該淡出應該刪除的元素,然後切換(可能)會顯示的元素。你應該使用show而不是切換? – tvanfosson 2009-06-04 16:23:34

+0

我最初使用切換,因爲我喜歡動畫,會顯示更有利嗎?我需要能夠在需要時重新打開元素。 – 2009-06-04 16:26:31