Количество новостей получаю так
текущее количество записей на странице получаю так
и сам код подгрузки
работает всё как надо, кроме единственного момента.
Проверка колличества запиесей на текущей странице делается одновременно с нажатием кнопки.
т.е если у нас всего записей 26, а изначально на странице 12, и загружается по 12.
После последнего клика, когда на странице уже 26 записей, по кнопке можно сделать еще 1 клик, после этого кнопка пропадает.
Т.е скрипт делает загрузку 1 лишний раз.
Как исправить ?
пока что сделал так:
но всё равно не камильфо если кнопка есть...
Код |
---|
<? $newsCounter = CIBlockElement::GetList(Array(), Array("IBLOCK_ID" => 1, "ACTIVE" => "Y"), Array()); ?> |
текущее количество записей на странице получаю так
Код |
---|
var countBlocks = document.getElementsByClassName('news_item').length; |
Код |
---|
$(document).ready(function(){ var path = "/include/news_list.php?ajax=Y"; var currentPage = 1; var count = <? echo $newsCounter; ?>; $(".show_more_btn").click(function(e){ var countBlocks = document.getElementsByClassName('news_item').length; alert(countBlocks); $.get(path, {PAGEN_1: ++currentPage}, function(data){ $(".news_list").append(data); }); if(countBlocks == count){ $(".show_more_btn").css("display","none"); } }); }); |
работает всё как надо, кроме единственного момента.
Проверка колличества запиесей на текущей странице делается одновременно с нажатием кнопки.
т.е если у нас всего записей 26, а изначально на странице 12, и загружается по 12.
После последнего клика, когда на странице уже 26 записей, по кнопке можно сделать еще 1 клик, после этого кнопка пропадает.
Т.е скрипт делает загрузку 1 лишний раз.
Как исправить ?
пока что сделал так:
Код |
---|
$(document).ready(function(){ var path = "/include/news_list.php?ajax=Y"; var currentPage = 1; var count = <? echo $newsCounter; ?>; $(".show_more_btn").click(function(e){ var countBlocks = document.getElementsByClassName('news_item').length; alert(countBlocks); if(countBlocks == count){ $(".show_more_btn").css("display","none"); }else{ $.get(path, {PAGEN_1: ++currentPage}, function(data){ $(".news_list").append(data); }); } }); }); |