24.03.2022, 17:52
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от firsmember
|
мне нужно, прослушивать,
|
исключите этот алгоритм из ваших практик, ищите причину, а не волшебный хук.
хотите мучатся, читайте про MutationObserver
|
|
24.03.2022, 17:57
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от firsmember
|
// где вставить данные
|
jQuery(function($) {
let num = 0;
// AJAX загрузка страниц/записей WP
$('.btn-loadmore').on('click', function() {
let _this = $(this);
_this.html('<span class="fas fa-redo fa-spin"></span> Загрузка...'); // изменение кнопки
let data = {
'action': 'loadmore',
'query': _this.attr('data-param-posts'),
'page': this_page,
'tpl': _this.attr('data-tpl')
}
$.ajax({
url: '/wp-admin/admin-ajax.php',
data: data,
type: 'POST',
success: function(data) {
if (data) {
_this.html('<span class="fas fa-redo"></span> Загрузить ещё');
_this.prev().parent().append(data); // где вставить данные
jQuery('.slider-prm-rab-box-block:not(.addslider)').each((i, el) => {
jQuery(el).addClass('addslider');
jQuery('.slider-for', el).attr('id', `fff${++num}`);
jQuery('.slider-nav', el).attr('id', `nnn${num}`);
jQuery('.slider-for', el).slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
fade: true,
asNavFor: `#nnn${num}`
});
jQuery('.slider-nav', el).slick({
slidesToShow: 4,
slidesToScroll: 1,
asNavFor: `#fff${num}`,
vertical: true,
verticalSwiping: true,
dots: false,
focusOnSelect: true
});
});
this_page++; // увелич. номер страницы +1
if (this_page == _this.attr('data-max-pages')) {
_this.remove(); // удаляем кнопку, если последняя стр.
}
} else { // если закончились посты
_this.remove(); // удаляем кнопку
}
}
});
});
});
|
|
24.03.2022, 18:01
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
firsmember,
так лучше ...
jQuery(function($) {
let num = 0;
function addslider()
{jQuery('.slider-prm-rab-box-block:not(.addslider)').each((i, el) => {
jQuery(el).addClass('addslider');
jQuery('.slider-for', el).attr('id', `fff${++num}`);
jQuery('.slider-nav', el).attr('id', `nnn${num}`);
jQuery('.slider-for', el).slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
fade: true,
asNavFor: `#nnn${num}`
});
jQuery('.slider-nav', el).slick({
slidesToShow: 4,
slidesToScroll: 1,
asNavFor: `#fff${num}`,
vertical: true,
verticalSwiping: true,
dots: false,
focusOnSelect: true
});
});
}
addslider(); //установка слайдера при первой загрузке страницы
// AJAX загрузка страниц/записей WP
$('.btn-loadmore').on('click', function() {
let _this = $(this);
_this.html('<span class="fas fa-redo fa-spin"></span> Загрузка...'); // изменение кнопки
let data = {
'action': 'loadmore',
'query': _this.attr('data-param-posts'),
'page': this_page,
'tpl': _this.attr('data-tpl')
}
$.ajax({
url: '/wp-admin/admin-ajax.php',
data: data,
type: 'POST',
success: function(data) {
if (data) {
_this.html('<span class="fas fa-redo"></span> Загрузить ещё');
_this.prev().parent().append(data); // где вставить данные
addslider();//!!!! //установка слайдера добавлении html
this_page++; // увелич. номер страницы +1
if (this_page == _this.attr('data-max-pages')) {
_this.remove(); // удаляем кнопку, если последняя стр.
}
} else { // если закончились посты
_this.remove(); // удаляем кнопку
}
}
});
});
});
|
|
24.03.2022, 18:48
|
Кандидат Javascript-наук
|
|
Регистрация: 08.11.2019
Сообщений: 113
|
|
Мне id нужно где то присвоить в html ? т.к. сейчас ошибку в консоли дает ((Uncaught TypeError: jQuery(...).slick is not a function) at addslider (myloadmore.js?ver=5.9.2:4))
|
|
24.03.2022, 18:58
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от firsmember
|
jQuery(...).slick is not a function
|
значит плагин не загружен, до этого кода.
|
|
24.03.2022, 19:40
|
Кандидат Javascript-наук
|
|
Регистрация: 08.11.2019
Сообщений: 113
|
|
Нет, не в этом дело, проверил
|
|
24.03.2022, 19:55
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
firsmember,
можно только гадать, другого алгоритма предложить не могу.
|
|
|
|