Количество новостей получаю так
[CODE]<?
$newsCounter = CIBlockElement::GetList(Array(), Array("IBLOCK_ID" => 1, "ACTIVE" => "Y"), Array());
?>
[/CODE]
текущее количество записей на странице получаю так
[CODE]var countBlocks = document.getElementsByClassName('news_item').length;
[/CODE]и сам код подгрузки
[CODE]$(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");
}
});
});
[/CODE]
работает всё как надо, кроме единственного момента.
Проверка колличества запиесей на текущей странице делается одновременно с нажатием кнопки.
т.е если у нас всего записей 26, а изначально на странице 12, и загружается по 12.
После последнего клика, когда на странице уже 26 записей, по кнопке можно сделать еще 1 клик, после этого кнопка пропадает.
Т.е скрипт делает загрузку 1 лишний раз.
Как исправить ?
пока что сделал так:
[CODE]$(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);
});
}
});
});
[/CODE]но всё равно не камильфо если кнопка есть...
[CODE]<?
$newsCounter = CIBlockElement::GetList(Array(), Array("IBLOCK_ID" => 1, "ACTIVE" => "Y"), Array());
?>
[/CODE]
текущее количество записей на странице получаю так
[CODE]var countBlocks = document.getElementsByClassName('news_item').length;
[/CODE]и сам код подгрузки
[CODE]$(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");
}
});
});
[/CODE]
работает всё как надо, кроме единственного момента.
Проверка колличества запиесей на текущей странице делается одновременно с нажатием кнопки.
т.е если у нас всего записей 26, а изначально на странице 12, и загружается по 12.
После последнего клика, когда на странице уже 26 записей, по кнопке можно сделать еще 1 клик, после этого кнопка пропадает.
Т.е скрипт делает загрузку 1 лишний раз.
Как исправить ?
пока что сделал так:
[CODE]$(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);
});
}
});
});
[/CODE]но всё равно не камильфо если кнопка есть...