У меня есть система разбиения на страницы как это:
[content]
1 2 3 Next >
при нажатии на 1/2/3/next [содержание], элемент получает замененную канавку ajax.
проблема состоит в том, что экранный фокус перемещается вверх, если новая высота [содержание] больше, чем предыдущее.
я могу вынудить экран остаться сфокусированным где, где ссылки разбиения на страницы?
Вам нужно найти позицию элемента и прокручивать до этой позиции при каждом изменении высоты. Что-то вроде:
var p = $(".links").position();
$(window).scrollTop(p.top);
Чтобы страница прозрачно оставалась на том же месте, вам нужно выяснить, где находятся ссылки, прежде чем загружать новый контент.
var before = $(".links").offset().top;
Затем, после загрузки нового контента, получите новую высоту ссылки.
var after = $(".links").offset().top;
Затем подсчитайте, чтобы узнать, насколько он перемещен.
var difference = after - before
И обновите местоположение прокрутки окна соответствующим образом
$(window).scrollTop( $(window).scrollTop() + difference )
Вы, вероятно, можете исправить это без jQuery или javascript ... Просто создайте именованный якорь, где вы хотите, чтобы верх страницы находился после того, как пользователь щелкает навигационные ссылки, поместите имя привязки в идентификатор фрагмента навигационных ссылок и не отменяйте событие, чтобы страница перешла к привязке.
<a name="contentTop"></a>
[content]
<a href="#contentTop" onclick="nextPage(); return true;">Next</a>