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

InstantCMS 2.X
#1 21 февраля 2024 в 16:18

Стоит авто подгрузка новостей ajaxinfinitescroll. Также поставил infinite-scroll.com/ для теста. Тоже самое. При подгрузке новостей, рейтинг тем перестает работать. Тупо в адресную строку добавляется #vote-up / #vote-down. Значит рейтинг надо инитиатировать при каждой подгрузке, но как? Нельзя ли переписать рейтинг в Ajax или что-то такое? Как поправить?

#2 21 февраля 2024 в 18:10

В коде подгрузки страниц добавьте переинициализацию рейтинга кодом

  1. icms.rating.onDocumentReady();
#3 21 февраля 2024 в 19:14

В коде подгрузки страниц добавьте переинициализацию рейтинга кодом

  1. icms.rating.onDocumentReady();
Zau4man

Эффект тот-же. 

#4 21 февраля 2024 в 19:28

Значит куда-то не туда добавили. Код должен выполняться после каждой подгруженной страницы.

#5 21 февраля 2024 в 20:05

Этого не исключаю

#6 22 февраля 2024 в 22:16

Куда я только не пихал этот кусок. Рейтинг не работает

#7 27 февраля 2024 в 16:02

slider загруженных картинок в пост и  Fancybox тоже перестает работать. Как то всё не так. :(

#8 27 февраля 2024 в 20:37

Как то всё не так. :(

pupsik

все так. Когда выполняется код fancy, он создает из картинок галерею. Когда вы подгружаете страницы по ajax, fancy понятия не имеет, что новые фотки появились. Надо рассказать. И так после каждой загруженной страницы.

#9 27 февраля 2024 в 23:34

Ну это понятно. Теорию, почему перестает все равотать я знаю. Как бы все JS иницировать заново при подгрузке. Как будто рефреш делать как новые посты подгрузит. А то там не только рейтинг перестает работать. Fancybox, и окошко «Поделится» тоже не пашет. 

#10 28 февраля 2024 в 06:40

Ещё как вариант, можете посмотреть в сторону делегированной обработки событий jquery.page2page.ru/index.php5/On

#11 28 февраля 2024 в 07:04

Вот спасибо! Помогло вот так если кому надо будет:

$('.content').on('click', function(){
  icms.rating.onDocumentReady();
});

.content это <div class=«content»> в котором лист топиков.

Но как вы узнали что  icms.rating.onDocumentReady(); это функция рейтинга? Как мне узнать прописание других функций?

Напримар какая функция на PhotoSwipe?

#12 28 февраля 2024 в 08:40

$('.content').on('click', function(){

pupsik

Это вы конечно «погорячились». Теперь при каждом клике по любой ссылке и в пустом месте в блоке <div class=«content»> будет проходить инициализация всех рейтингов на странице. Попробуйте сделать так

  1. $('.content').on('change', function(){
  2. icms.rating.onDocumentReady();
  3. });
 
#13 28 февраля 2024 в 15:57

Нет, так не работает. По идеи должно. 

Я все варианты попробовал. И «load». Только «click» работает. И только при нажатии на стрелку(два раза конечно надо кликать, ну да ладно).

Теперь функцию PhotoSwipe надо найти. Пробовал так:

loadImg.onDocumentReady();

photoswipelightbox.onDocumentReady();

photoswipe.onDocumentReady();

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.