Как установить полосу прокрутки в верхнюю часть раздела / забыть положение прокрутки

Я использую jQuery UI Accordion. В одном разделе есть полоса прокрутки. Я бы хотел, чтобы эта полоса прокрутки по умолчанию находилась вверху каждый раз, когда этот раздел открывается. В настоящее время он «помнит» свое предыдущее положение. Есть ли способ заставить его забыть о своей позиции или всегда по умолчанию наверху. Я хочу установить это только для определенного раздела, а не для всей страницы.

В этом сообщении предлагается использовать window.scrollTo(0, 0); для принудительной прокрутки страницы вверх. Но я не уверен, как применить это только к определенному разделу.


person Ken    schedule 28.05.2011    source источник


Ответы (2)


Вы можете установить позицию прокрутки .ui-accordion-content на 0 в событии change или changestart аккордеона.

person Andy    schedule 28.05.2011
comment
Спасибо. Можно ли привести пример? - person Ken; 29.05.2011
comment
Хм, я попробовал это сейчас, но я не могу воспроизвести вашу проблему. У меня он автоматически прокручивается вверх, может быть, у вас другая разметка или ваша версия jqUI? Во всяком случае, я сделал пример того, как это работает: jsfiddle.net/8kgjG/1 (я установил прокрутите вверх до 50 здесь) - person Andy; 29.05.2011
comment
Когда я впервые открывал раздел, положение прокрутки было вверху, но всегда было внизу, когда я снова открывал раздел. В любом случае, ваше решение устранило проблему. Благодарю вас! - person Ken; 29.05.2011
comment
Да, это потому, что я устанавливаю позицию только в событии изменения, поэтому она начинается сверху, а в событии устанавливается на 50. Рад, что это помогло! - person Andy; 29.05.2011

установите для свойства scrollTop элемента значение 0

person Dr.Molle    schedule 28.05.2011