SlideDown / SlideUp切换2个div

时间:2012-08-08 09:59:01

标签: jquery

我有2个div,一个可见,一个没有。我想通过点击链接来切换可见性,但是当我第二次切换时,我的第一个div不会出现。

HTML:

<div class="search-extra">
  <a href="#" id="toggle-to-advanced">Toggle to red</a>
</div>

<div class="search-advanced">
  <a href="#" id="toggle-to-normal">Toggle to black</a>
</div>​

css:

.search-advanced{display:none;}

jQuery:

jQuery('#toggle-to-normal').click(function(e){
    e.preventDefault();
    jQuery('.search-advanced').slideUp('normal').queue( function(){
        jQuery('.search-extra').slideDown('normal');
    });
});

jQuery('#toggle-to-advanced').click(function(e){
    e.preventDefault();
    jQuery('.search-extra').slideUp('normal').queue( function(){
        jQuery('.search-advanced').slideDown('normal');
    });
});​

演示:

http://jsfiddle.net/rekQ9/

2 个答案:

答案 0 :(得分:5)

您可以使用幻灯片上的回调函数代替queue,而不是{{1}}。

http://jsfiddle.net/rekQ9/2/

答案 1 :(得分:1)

jQuery('#toggle-to-normal').click(function(e){
    e.preventDefault();
    jQuery('.search-advanced').slideUp('normal',function(){
        jQuery('.search-extra').slideDown('normal');
    });
});

jQuery('#toggle-to-advanced').click(function(e){
    e.preventDefault();
    jQuery('.search-extra').slideUp('normal', function(){
        jQuery('.search-advanced').slideDown('normal');
    });
});