Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ajax пагинация - помогите с автоскролом (https://javascript.ru/forum/misc/70023-ajax-paginaciya-pomogite-s-avtoskrolom.html)

Andrey_55 04.08.2017 12:59

Ajax пагинация - помогите с автоподгрузкой страниц
 
Доброго времени суток уважаемые форумчане!

Нужна помощь!

Установил на сайт Ajax пагинацию для подгрузки страниц по кнопке. Третий день голову ломаю .... не могу разобраться как подгружать страницы автоматически. В javascript и php не силён :) и не знаю где и копать. Заранее спасибо!

Подключаю функцию php:

function artabr_lm_footer_scripts() {
wp_enqueue_script( 'artabr_lm_ajax', get_template_directory_uri() . '/js/ajax.js', true );
wp_enqueue_script( 'historyjs', get_template_directory_uri() . '/js/history.js', true );


// Add parameters for the JS
global $wp_query;
$max = $wp_query->max_num_pages;
$paged = ( get_query_var( 'paged' ) > 1 ) ? get_query_var( 'paged' ) : 1;
wp_localize_script(
'artabr_lm_ajax',
'mts_ajax_loadposts',
array(
'startPage' => $paged,
'maxPages' => $max,
'nextLink' => next_posts( $max, false ),
'i18n_loadmore' => __( ' Показать еще...', 'mythemeshop' ),
'i18n_nomore' => __( ' Больше нет', 'mythemeshop' ),
'i18n_loading' => __(' Загрузка...', 'mythemeshop')
)
);

}
add_action( 'wp_footer', 'artabr_lm_footer_scripts' );


Скрипты не поместились в сообщении, вот ссылки:

http://shopogollik.ru/ajax.js
http://shopogollik.ru/history.js

Ещё раз заранее спасибо!

Nexus 04.08.2017 13:55

Andrey_55, Это 2 ссылки на какие-то библиотеки без копирайтов.
В первом файле присутствует сама библиотека, пользовательский конфиг и, скорее всего, ваш код.
Лучше конфиг и ваш код убрать из файла библиотеки в отдельный файл.

Как можно сделать:
«Быстро и плохо»
На клиенте асинхронно обращаться к следующей странице контента, извлекать из полученного ответа необходимый код и вставлять его на текущую страницу в конец области контента.
"Плохо" потому, что сервер ты никак не разгрузишь, он будет генерировать всё ту же страничку.

«Долго и хорошо»
На все внутренние ссылки повесить обработчик, который будет отправлять на сервер запрос, в ответ на который сервер вернет клиенту либо инструкцию к выполнению, либо участок кода, который нужно поместить в блок/конец блока контента.
"Хорошо" потому, что серверу не нужно будет как минимум собирать код блоков, не относящихся к контенту.


Автоскролл делается так:
//Код проскроллит страницу в самый верх за 0.3 секунды
$('html,body').animate({
scrollTop:0
},300);


UPD. в первом файле уже реализован "быстрый" способ, осталось определиться куда скроллить.

Andrey_55 04.08.2017 14:43

Извиняюсь! Я не правильно озаглавил тему. Я имел ввиду не автоскролл, а автоподгрузку следующей страницы.... Всё равно спасибо!


Часовой пояс GMT +3, время: 19:58.