0

我正在使用以下代码来触发手风琴:

$(".accordion h2").eq(2).addClass("active");
$(".accordion-content").eq(2).show();
$(".accordion h2").click(function(){
    $(this).next(".accordion-content").slideToggle("slow")
    .siblings("div:visible").slideUp("slow");
    $(this).toggleClass("active");
    $(this).siblings("h2").removeClass("active");
});
$("div.accordion-content").hide();
$("h2#open").trigger('click');

但是,当单击 h2 以影响手风琴时,如果其中一个“手风琴内容”div 具有滚动条(css 设置为溢出:auto),则 div 似乎重叠并且动画效果不佳。有没有一种方法可以设置“溢出:自动”仅在 div 完全可见后发生?或者任何其他方式解决这个问题?谢谢。

4

1 回答 1

1

您可以尝试使用在动画前后触发的 changestart 和 change 事件。ui.newContent 应该是有问题的 div。

粗略的 2 秒演示在这里。

$('.selector').accordion({
   changestart: function(event, ui) {
       ui.newContent.css('overflow' , 'hidden');
   },
   change: function(event, ui) { 
     ui.newContent.css('overflow' , 'auto');
   }
});
于 2009-08-13T08:38:06.587 回答