我正在使用驻留在其自己的可滚动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的目的。
答案 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/