Перейти к публикации

Ajax подгрузка новостей по кнопке или при скролле


Рекомендованные сообщения

3 часа назад, skapunker сказал:

похоже в 16 версии эта фича совсем загнулась. Обертка в #dle-content не помогает.

Странно, почему разработчки не сдделали такую встроенную функцию? Ajax подгрузка используется на сайтах уже как лет 15.

Всё отлично работает. И ничего в 16 версии не поменялось в этом плане и не изменится. Странно, что Вебмастер высшего уровня не умеет работать с DevTools для более лучшего понимания проблемы.

  • Поддерживаю 1
Ссылка на сообщение
Поделиться на других сайтах
10.01.2023 в 14:29, weddaan сказал:

У меня такая же проблемка. При чем на компе все отлично, а в смартфоне  как только опустился вниз сайта, начинается бесконечная подгрузка. DLE 15.3

Браузер иногда вставляет и футер двигается вниз - тогда все ок. Иногда вставляет, но футер остается на месте, а страница как бы двигается вверх - тогда и возникает эта ситуация. Почему и как это избежать - не знаю, нет интереса разбираться, терпеть не могу автозагрузку. Возможно это как-то связано  с расстоянием до нижнего предела экрана. Фиг знает короче, тут вы сами по себе.

18 часов назад, skapunker сказал:

похоже в 16 версии эта фича совсем загнулась. Обертка в #dle-content не помогает.

Странно, почему разработчки не сдделали такую встроенную функцию? Ajax подгрузка используется на сайтах уже как лет 15.

Все работает, никак не зависит от версии. Вот мой последний, который использую у себя


	$(document).on('click','.pagination__btn-loader a',function(){
		var urlNext = $(this).attr('href'), scrollNext = $(this).offset().top;
		$.ajax({
			url: urlNext,
			beforeSend: function() { ShowLoading('<p class="bolder">Загрузка</p>Пожалуйста, подождите...','right','top'); },			 
			success: function(data) {
				$('#pagination').remove(); $('#content-holder').append($('#content-holder', data).html());
				window.history.pushState("", "", urlNext);
				$('html, body').animate({scrollTop:scrollNext}, 800);	
				$('.pagination__btn-loader span').text('Больше нет новостей');
				HideLoading('');
			},
			error: function() { HideLoading(''); alert('что-то пошло не так'); }
		});
		return false;
	});
<div id="content-holder">{content}</div>
<div class="pagination" id="pagination">
	[available=main|cat]
	<div class="pagination__btn-loader">[next-link]Загрузить еще[/next-link]</div>
	[/available]
</div>

 

  • Нравится 1
  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
05.02.2023 в 09:43, redissx сказал:

Браузер иногда вставляет и футер двигается вниз - тогда все ок. Иногда вставляет, но футер остается на месте, а страница как бы двигается вверх - тогда и возникает эта ситуация. Почему и как это избежать - не знаю, нет интереса разбираться, терпеть не могу автозагрузку. Возможно это как-то связано  с расстоянием до нижнего предела экрана. Фиг знает короче, тут вы сами по себе.

Все работает, никак не зависит от версии. Вот мой последний, который использую у себя



	$(document).on('click','.pagination__btn-loader a',function(){
		var urlNext = $(this).attr('href'), scrollNext = $(this).offset().top;
		$.ajax({
			url: urlNext,
			beforeSend: function() { ShowLoading('<p class="bolder">Загрузка</p>Пожалуйста, подождите...','right','top'); },			 
			success: function(data) {
				$('#pagination').remove(); $('#content-holder').append($('#content-holder', data).html());
				window.history.pushState("", "", urlNext);
				$('html, body').animate({scrollTop:scrollNext}, 800);	
				$('.pagination__btn-loader span').text('Больше нет новостей');
				HideLoading('');
			},
			error: function() { HideLoading(''); alert('что-то пошло не так'); }
		});
		return false;
	});

<div id="content-holder">{content}</div>

<div class="pagination" id="pagination">
	[available=main|cat]
	<div class="pagination__btn-loader">[next-link]Загрузить еще[/next-link]</div>
	[/available]
</div>

 

Все работает, но после 3-го клика на кнопку "Загрузить еще" начинает загружать следующую страницу трижды, после ещё одного нажатия - уже 6 страниц.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
05.02.2023 в 09:43, redissx сказал:

Вот мой последний, который использую у себя

Вот так работает. А есть ли у вас версия скрипта, которая автоматически будет подгружать, без клика?

Ссылка на сообщение
Поделиться на других сайтах
15 часов назад, skapunker сказал:

Вот так работает. А есть ли у вас версия скрипта, которая автоматически будет подгружать, без клика?

а у вас не дублируются записи при клике на кнопку "Загрузить ещё"?

Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, Decart сказал:

а у вас не дублируются записи при клике на кнопку "Загрузить ещё"?

дубли могут быть по причине двойного подключения одного и того же JS файла

Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, Decart сказал:

а у вас не дублируются записи при клике на кнопку "Загрузить ещё"?

нет

ты скрипт вставляй в конец страницы, а не в навигацию

  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах
21 час назад, skapunker сказал:

нет

ты скрипт вставляй в конец страницы, а не в навигацию

Спасибо мил человек, разобрался, всё получилось )))

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...