Стоит авто подгрузка новостей ajaxinfinitescroll. Также поставил infinite-scroll.com/ для теста. Тоже самое. При подгрузке новостей, рейтинг тем перестает работать. Тупо в адресную строку добавляется #vote-up / #vote-down. Значит рейтинг надо инитиатировать при каждой подгрузке, но как? Нельзя ли переписать рейтинг в Ajax или что-то такое? Как поправить?
В коде подгрузки страниц добавьте переинициализацию рейтинга кодом
icms.rating.onDocumentReady();
В коде подгрузки страниц добавьте переинициализацию рейтинга кодом
icms.rating.onDocumentReady();
Эффект тот-же.
Значит куда-то не туда добавили. Код должен выполняться после каждой подгруженной страницы.
Этого не исключаю
Куда я только не пихал этот кусок. Рейтинг не работает
slider загруженных картинок в пост и Fancybox тоже перестает работать. Как то всё не так. :(
Как то всё не так. :(
все так. Когда выполняется код fancy, он создает из картинок галерею. Когда вы подгружаете страницы по ajax, fancy понятия не имеет, что новые фотки появились. Надо рассказать. И так после каждой загруженной страницы.
Ну это понятно. Теорию, почему перестает все равотать я знаю. Как бы все JS иницировать заново при подгрузке. Как будто рефреш делать как новые посты подгрузит. А то там не только рейтинг перестает работать. Fancybox, и окошко «Поделится» тоже не пашет.
Ещё как вариант, можете посмотреть в сторону делегированной обработки событий jquery.page2page.ru/index.php5/On
Вот спасибо! Помогло вот так если кому надо будет:
$('.content').on('click', function(){
icms.rating.onDocumentReady();
});
.content это <div class=«content»> в котором лист топиков.
Но как вы узнали что icms.rating.onDocumentReady(); это функция рейтинга? Как мне узнать прописание других функций?
Напримар какая функция на PhotoSwipe?
$('.content').on('click', function(){
Это вы конечно «погорячились». Теперь при каждом клике по любой ссылке и в пустом месте в блоке <div class=«content»> будет проходить инициализация всех рейтингов на странице. Попробуйте сделать так
$('.content').on('change', function(){ icms.rating.onDocumentReady(); });
Нет, так не работает. По идеи должно.
Я все варианты попробовал. И «load». Только «click» работает. И только при нажатии на стрелку(два раза конечно надо кликать, ну да ладно).
Теперь функцию PhotoSwipe надо найти. Пробовал так:
loadImg.onDocumentReady();
photoswipelightbox.onDocumentReady();
photoswipe.onDocumentReady();