0

这是怎么回事?: 我的 jQuery 手风琴的动画坏了。在关闭上一个选项卡之前单击下一个选项卡一小段时间后,它会显示先前打开的选项卡。动画也不会滑动。

CSS:从这个答案中找到

/* The following was added into accordion.css */
.ui-accordion .ui-accordion-content { height: auto!important; }

jQuery

$(document).ready(function() {

    $("#accordion").accordion({ 
        active: false,
        fillSpace: false
    });

    $("#accordion").accordion("option", "active", false);
    $("#accordion").accordion("option", "fillspace", false);
});

我尝试过的:我摆弄了fillSpaceand的值height。在手风琴.css 中,我尝试过,overflow: visible!important;但格式确实搞砸了。

我想要发生的事情:清洁动画,每个部分的高度取决于每个部分的内容量<div>(也就是我对上面的 CSS 所做的)。

4

2 回答 2

1

如果我没记错的话,您使用的是插件?至少对我来说这是一个问题(因为意外的行为,我讨厌他们)。所以不久前我创造了自己的手风琴。您可以在此处查看工作示例。 希望对你有帮助!
这是我的代码:

   $(document).ready(function() {

   $('.wrapper ul li ul:first').addClass('active');
   $('.wrapper ul li ul').hide();
   $('a.home,a.about,a.service,a.contact').click(function()     {
   if($('a.home,a.about,a.service,a.contact').next('ul').hasClass('active')) {
   $('.active').stop(true, true).slideUp('slow');
   $('.active').removeClass('active');
   $(this).next('ul').addClass('active');
   $('.active:not(:animated)').stop().slideDown('slow');
   }
   });
   });
于 2012-06-27T21:04:52.697 回答
0

我现在觉得有点傻,但简单地设置autoHeight为 false 会占用内容较少的部分下方不必要的空间。动画也很流畅。

$(document).ready(function() {

    $("#accordion").accordion({ 
        active: false,
        autoHeight: false, // ADDED
        collapsible: true
    });

    $("#accordion").accordion("option", "active", false);
    $("#accordion").accordion("option", "autoHeight", false); // ADDED
    $("#accordion").accordion("option", "collapsible", false);
});
于 2012-06-29T20:27:22.653 回答