У меня есть страница с отзывами, которая выглядит следующим образом (я просто показываю по 1 комментарию на странице, чтобы проверить, работает ли нумерация страниц. В противном случае я покажу больше):
![Изображение]()
Отзывы поступают из базы данных mysql и на данный момент фильтруются как 1 отзыв на страницу.
В моем коде я помещаю логику, чтобы, когда я нажимаю на следующую страницу, комментарии правильно отображались с помощью функции GET, которая отправляется обратно из функции PHP в другом файле.
Вот небольшой пример кода:
В моем основной файл, я вызываю функцию paginate и распечатываю его
В моей основной функции в другом файле у меня есть что-то вроде этого, которое создает разбивку на страницы с переменными PHP одну за другой.
Код: Выделить всё
function paginate($url, $link, $total, $current, $adj=5){
$prev = $current - 1;
$next = $current + 1;
$penultimate = $total - 1;
$pagination = '';
if ($total > 1) {
$pagination .= "\n";
$pagination .= "\n";
..
Проблема, с которой я столкнулся, заключается в следующем: когда я нажимаю «Далее» или любую страницу, на которую хочу перейти, появляется функция обновления, которая прокручивается вверх, и пользователю приходится прокручивать вернитесь вниз, чтобы увидеть комментарий. Поэтому я поместил этот код в JavaScript, чтобы вернуться к комментарию:
Код: Выделить всё
document.addEventListener("DOMContentLoaded", function (event) {
var scrollpos = sessionStorage.getItem('scrollpos');
if (scrollpos) {
window.scrollTo(0, scrollpos);
sessionStorage.removeItem('scrollpos');
}
});
window.addEventListener("beforeunload", function (e) {
sessionStorage.setItem('scrollpos', window.scrollY);
});
Если работает нормально, но каждый раз происходит микрозависание, что имеет смысл, поскольку стандартное поведение — прокрутка вверх после обновления, а сценарий здесь снова прокручивается вниз. Я также видел этот класс JQuery PreventDefault();, который вообще предотвращает прокрутку страницы, но в моем случае ничего не обновляется. Есть ли у кого-нибудь идеи, как обновить, а не выполнять прокрутку вверх и вниз? Так кажется более плавно? Спасибо
Подробнее здесь:
https://stackoverflow.com/questions/787 ... pagination