滚动到位于其自己的DIV中的jQuery Accordion控件中的打开选项卡

时间:2014-09-10 19:07:15

标签: javascript jquery html css jquery-ui

我正在使用驻留在其自己的可滚动div中的jQuery Accordion控件:

<div id="mainSection">
    <div id="accordion">
    </div>
</div>

使用CSS:

#mainSection{
    clear: both;
    margin: 0;
    padding: 4px 0px 0px 0px;
    overflow-y: auto;
    max-height: 600px;
    border-top: thin solid #EEE;
}

手风琴控件初始化为使用特定标签打开,如下:

    $("#accordion").accordion({
            collapsible: true,
            heightStyle: "content",
            active: nActiveTab
        });

此手风琴的标签会动态添加。

如果手风琴没有太多标签,这是有效的。但是,如果手风琴有100个标签,我想打开最底部的标签99(在我的nActiveTab变量中),当创建手风琴时,它不会向下滚动到那个打开的标签99. / p>

有没有办法让它滚动到它?

PS。这是fiddle的目的。

1 个答案:

答案 0 :(得分:1)

使用您的代码创建fiddlejs总是有帮助的。

尝试在您的手风琴代码后添加它,并告诉我它是如何工作的:

var activeTabOffset = $(".ui-accordion-header-active").offset().top;
var mainSectionHeight = $('#mainSection').height();

if (activeTabOffset > mainSectionHeight) {
    $('#mainSection').animate({scrollTop: activeTabOffset}, 1000);
}

这样做会将mainSection元素向下(或向上)滚动到第一个活动手风琴。我没有测试它,但它应该可以工作。

这是一个小提琴:http://jsfiddle.net/95g0L8pq/3/