У меня есть страница с несколькими разделами значительно разной длины в аккордеоне пользовательского интерфейса jQuery. Если я открываю новый раздел (который сворачивает один из более длинных разделов выше), я остаюсь внизу страницы. Поскольку секции имеют значительно разную высоту, я не могу использовать функцию автовысоты, чтобы она не выглядела очень странно. Есть ли способ использовать что-то вроде scrollto для автоматического перехода к началу раздела, который я только что расширил?
jQuery UI Accordion Проблема прокрутки
Ответы (1)
Вы можете привязать функцию к событию accordionchange
и использовать jQuery scrollTop()
:
JavaScript
$(function () {
$("#accordion").accordion({
autoHeight: false,
header: "h3"
});
$('#accordion').bind('accordionchange', function (event, ui) {
$(window).scrollTop(ui.newHeader.offset().top);
});
});
HTML
<div id="accordion">
<div id="accordion-one">
<h3><a href="#">First</a></h3>
<div>Some lengthy text</div>
</div>
<div id="accordion-two">
<h3><a href="#">Second</a></h3>
<div>Less lengthy text</div>
</div>
<div id="accordion-three">
<h3><a href="#">Third</a></h3>
<div>Other text</div>
</div>
</div>
Я тестировал это в FF8.
Ссылки
person
Drew Gaynor
schedule
24.12.2011