2014-02-08 41 views
1

我已经使JQUERY Accordions正常工作。手风琴关闭第二次点击JQUERY

HTML:

<div id="accordion"> 

<div class="title"><span>Accordian 1</span></div> 
<div class="hide"> 

    <p>hidden content</p> 

</div> 

<div class="title"><span>Accordian 2</span></div> 
<div class="hide"> 

    <p>hidden content</p> 

</div> 


<div class="title"><span>Accordian 3</span></div> 
<div class="hide"> 

    <p>hidden content</p> 

</div> 

<div class="title"><span>Close all the accordions</span></div> 

</div> 

JQUERY

$(document).ready(function() { 

    $('#accordion .hide').hide(); 
    $('#accordion .title span').click(function(){ 
      $('#accordion .hide').slideUp(); 
      $(this).parent().next().slideDown(); 

      return false; 
    }); 

});

我想要的是当用户点击一个手风琴打开它,然后再次点击它,它会关闭。

So 1st click = open,2 click = close。

我该怎么办?

感谢

+0

何不的slideToggle()? –

+0

@ user2620746 http://jsfiddle.net/pranavcbalan/hy4kF/3/ –

回答

1

HTML:

<div id="accordion"> 
<div class="title"><span>Accordian 1</span></div> 
<div class="hide"> 
    <p>hidden content</p> 
</div> 
<div class="title"><span>Accordian 2</span></div> 
<div class="hide"> 
    <p>hidden content</p> 
</div> 
<div class="title"><span>Accordian 3</span></div> 
<div class="hide"> 
    <p>hidden content</p> 
</div> 
<div class="close"><span>Close all the accordions</span></div> 
</div> 

使用slideToggle(),切换slideUpslideDown之间

$(document).ready(function() {  
    $('#accordion .hide').hide(); 
    $('#accordion .title span').click(function(){ 
      $(this).parent().next() 
        .slideToggle() 
        .siblings('.hide').slideUp(); 
      return false; 
    }); 
    $('.close').click(function(){ 
     $('#accordion .hide').slideUp(); 
    }); 
}); 

Fiddle Demo

+0

为什么downote ?????????? –

+0

感谢您的回复,此解决方案正常工作,但它使“关闭所有”功能不起作用 – mickzer

+0

@ user2620746 http://jsfiddle.net/pranavcbalan/hy4kF/5/ –

0

ŧ RY这样的:

$('#accordion .hide').hide(); 
$('#accordion .title span').click(function() { 
    $(this).parent().next().slideToggle().siblings('.hide').slideUp(); 
}); 

$('#accordion .title span:last').click(function() { 
    $('#accordion .hide').slideUp(); 
}); 

Fiddle Demo