Показать сообщение отдельно
  #3 (permalink)  
Старый 16.02.2015, 12:23
Новичок на форуме
Отправить личное сообщение для Js_Skriptor Посмотреть профиль Найти все сообщения от Js_Skriptor
 
Регистрация: 12.02.2015
Сообщений: 3

Нужна помощь в отладке.

<div id="insertContent">
	<?$APPLICATION->IncludeFile("/catalog/element.php");?>
	</div>
	<a class="show-more" href="#" ></a>	 
</div>



<script>
$(document).ready(function(){
    //путь к файлу с компонентом. Указываем параметр
    var path = "/catalog/element.php?ajax=Y";
    //счетчик страниц
    var currentPage = 1;
	var SECTION_ID = <?=CUtil::PhpToJSObject($_REQUEST["SECTION_ID"])?>;
	var SECTION_CODE = <?=CUtil::PhpToJSObject($_REQUEST["SECTION_CODE"])?>;
	var ELEMENT_SORT_FIELD = <?=CUtil::PhpToJSObject($_REQUEST["ELEMENT_SORT_FIELD"])?>;
	var ELEMENT_SORT_ORDER = <?=CUtil::PhpToJSObject($_REQUEST["ELEMENT_SORT_ORDER"])?>;
	var PAGE_ELEMENT_COUNT = <?=CUtil::PhpToJSObject($_REQUEST["PAGE_ELEMENT_COUNT"])?>;
	
	
	var NavPageCount = <?=CUtil::PhpToJSObject($_REQUEST["NavPageCount"])?>;
	var pageGet = <?=CUtil::PhpToJSObject($_GET)?>;
$(window).scroll(function(e){
	var inProgress = false;
if($(window).scrollTop()+($(window).height()+900)>=$(document).height() && !inProgress)
{
	inProgress = true;
	$(".show-more").addClass("WaitWindow"); 
        $.get(
		path, 
		{PAGEN_1: ++currentPage, SECTION_ID: SECTION_ID, SECTION_CODE: SECTION_CODE, ELEMENT_SORT_FIELD:ELEMENT_SORT_FIELD, ELEMENT_SORT_ORDER:ELEMENT_SORT_ORDER, PAGE_ELEMENT_COUNT: PAGE_ELEMENT_COUNT, NavPageCount: NavPageCount, pageGet: pageGet},
		function(data){
            $("#insertContent").append(data);
			inProgress = false;
			$(".show-more").removeClass("WaitWindow");
        });
}		
        e.preventDefault();
    });
});</script>


При данной работе скрипта, если пользователь резко дергает страницу происходит много запросов, и сервер отключает такого пользователя на 5 минут, подскажите как сделать так что бы пока отправляется запров, второй запрос не отправлялся.
Пробовал добавить переменную inProgress.

И второй вопрос, как остановить запросы к файлу если все элементы уже выведены?
код примерно такой
if(!isset($_GET["NavPageCount"]) || ($_GET["NavPageCount"] >= $_GET["PAGEN_1"])){
//выполняем запрос и возвращаем на страницу элементы
}
else{
//закончились элементы
//вернуть параметр, что бы script js перестал делать запросы
//именно здесь я не знаю что сделать
}


Подскажите как сделать
Ответить с цитированием