Всем привет. Нужна помощь по следующему вопросу. Суть задачи в том что нужно реализовать бесконечную прокрутку, т.е. зашли вы в какую то новость/статью долистали до конца и подгружается другая статья полностью, пролистали ниже подгрузилась еще одна и так до бесконечности. Ну и при этом должна меняться ссылка в браузере как будто бы человек зашел на текущую статью которую смотрит.. На данный момент реализовано следующее. Если зайти на статью и пролистать вниз подгружается следующая и ссылка меняется, но после если пролистать ниже ссылка не работает.. я так понял это из за того что я прохожу циклом по записям а на тот момент ее не существует.. как поправить?
определяем текущий блок
var checkBlocks = function(sc, wh) {
var find = false;
getObject("[data-seotitle]").each(function() {
var $block = $(this);
if(sc >= ($block.data("top") - 80 - settings.offsetTop) && sc <= ($block.data("bottom") + 80 - settings.offsetTop)) {
if(!$block.data("current")) {
getObject("[data-seotitle]").data("current", false);
$block.data("current", true);
setBlock({
title: $block.data("seotitle"),
keywords: $block.data("seokeywords"),
description: $block.data("seodescription"),
url: $block.data("seourl")
});
}
find = true;
states.isDefault = false;
return false;
}
});
if(!find && !states.isDefault) {
setBlock(seoDefaults);
states.isDefault = true;
}
};
// Проверка блоков при скроллирование и в начале
landingSeo.getObject("window").on("scroll", function() {
var sc = parseInt(landingSeo.getObject("window").scrollTop()),
wh = parseInt(landingSeo.getObject("window").height());
landingSeo.checkBlocks(sc, wh);
});
разметка выглядит так
<section class="item content_inner_page news_article_page" style="display: inline-block;" data-key="75212" data-seotitle="title" data-seourl="link">
код
</section>
Код js не мой, взял отсюда
https://github.com/goodcode1/LandingSeo