Постраничная ajax навигация по кнопке «показать ещё» для 1С-Битрикс
Пример для компонентов bitrix:news.list или bitrix:catalog.section
<?if($arResult["NavPageCount"] > 1):?> <?if ($arResult["NavPageNomer"]+1 <= $arResult["nEndPage"]):?> <? $plus = $arResult["NavPageNomer"]+1; $url = $arResult["sUrlPathParams"] . "PAGEN_1=" . $plus ?> <div class="load_more" data-url="<?=$url?>"> Показать еще </div> <?else:?> <div class="load_more"> Загружено все </div> <?endif?> <?endif?>
$(document).ready(function(){ $(document).on('click', '.load_more', function(){ var targetContainer = $('.loadmore_wrap'), // Контейнер, в котором хранятся элементы
url = $('.load_more').attr('data-url'); // URL, из которого будем брать элементы if (url !== undefined) { $.ajax({ type: 'GET', url: url, dataType: 'html', success: function(data){ // Удаляем старую навигацию $('.load_more').remove(); var elements = $(data).find('.loadmore_item'), // Ищем элементы
pagination = $(data).find('.load_more');// Ищем навигацию targetContainer.append(elements); // Добавляем посты в конец контейнера targetContainer.append(pagination); // добавляем навигацию следом } }) } }); });