Ответ 1
Нам нужно правильно вызвать функцию выбора
onSelect() {
this.props.onSelect(this.props.id);
this.focusDiv();
}
Я использовал scrollIntoView, но все же не указывал на вторую идею.
Я использовал window.scrollTo(0, 0), но все же не указывал на вторую идею.
.television .chromecast .sun .sunItem > .bulb {
overflow: hidden;
transition: transform .5s, max-height .5s;
transform: scaleY(0);
box-sizing: border-box;
max-height: 0;
transform-origin: center top;
}
.television .chromecast .sun .sunItem.selected > .bulb {
transform: scaleY(1);
max-height: 100%;
}
Нам нужно правильно вызвать функцию выбора
onSelect() {
this.props.onSelect(this.props.id);
this.focusDiv();
}
Это ожидаемое поведение. Положение прокрутки сохраняется, но вы удаляете содержимое с верхней части экрана, чтобы вы в конечном итоге опустились на страницу.
Всегда плохая идея свернуть предыдущие элементы при расширении нового, особенно на мобильных устройствах.
Чтобы исправить это, вам потребуется script прокрутка вверху открытого раздела. Это можно легко достичь с помощью jQuery.ScrollTo()
или чего-то подобного, но, честно говоря, я бы просто оставил предыдущие разделы открытыми, если у пользователей нет тенденции прокручивать назад, и для этого потребуется много прокрутки, чтобы вернуться к началу страницы. Другие решения UX, такие как прокрутка к верхней ссылке, могут пригодиться, чтобы решить эту проблему.