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

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


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

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

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
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>

 

Ссылка на сообщение
Поделиться на других сайтах
  • 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 сказал:

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

нет

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

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

нет

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

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

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...