手风琴不会在鼠标单击时关闭

时间:2013-01-03 05:59:44

标签: jquery jquery-plugins accordion jquery-ui-accordion accordionpane

我已经制作了手风琴并且它的工作正常,但是当它向下滑动时,当我们点击它向上滑动时它不向上朝向关闭位置。以下是我的代码,请告诉我们如何继续?

(function($) {

    var allPanels = $('.accordion > dd').hide();

    $('.accordion > dt > a').click(function() {
        allPanels.slideUp();
        $(this).parent().next().slideDown();
        return false;

    });

})(jQuery);

2 个答案:

答案 0 :(得分:2)

试试这个:http://jsfiddle.net/DDUQ5/1/

(function($) {

 var allPanels = $('.accordion > dd').hide();

 $('.accordion > dt > a').click(function() {
  $this = $(this);
  $target =  $this.parent().next();
  allPanels.removeClass('active').slideUp();
  if($target.is(':hidden')){
     allPanels.removeClass('active').slideUp();
     $target.addClass('active').slideDown();
  }

 return false;
 });

})(jQuery);​

答案 1 :(得分:1)

我认为这是你要隐藏隐藏元素的问题

var allPanels = $('.accordion > dd').hide();

而是试试这个:

(function($) {
   var allPanels = $('.accordion > dd').hide();
   $('.accordion > dt > a').toggle(function() {
      allPanels.slideUp();
      $(this).parent().next().slideDown();
      return false;
   },function() {
      $(this).parent().next().slideUp();
      return false;
   });
})(jQuery);