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

Скрипт подгрузки контента не правильно работает на нескольких страницах, битрикс.
Добрый день, нужна помощь при работе со скриптом.
Скрипт подгружает контент следующей страницы, в данном случае по 9 элементов.
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?CJSCore::Init(array("jquery"));?>
<?
$arResult["NavQueryString"] = str_replace('&amp;','&',$arResult["NavQueryString"]);
$do = preg_match('/.*bxajaxid=(\S+).*/',$arResult["NavQueryString"],$bxajaxid);
?>

<script>
	var ajax_nav =  {'NavShowAlways':true,'NavTitle':'Товары','NavRecordCount':'31','NavPageCount':'4','NavPageNomer':'4','NavPageSize':'9','bShowAll':false,'NavShowAll':false,'NavNum':'1','bDescPageNumbering':false,'add_anchor':'','nPageWindow':'5','bSavePage':false,'sUrlPath':'/catalog/3567/','NavQueryString':'bxajaxid=eb7a0314a992bd489b709fe055063bee','sUrlPathParams':'/catalog/3567/?bxajaxid=eb7a0314a992bd489b709fe055063bee&','nStartPage':'1','nEndPage':'4','NavFirstRecordShow':'28','NavLastRecordShow':'31'};
	var bxajaxid = "";
</script>

<?  
if(!$do)
{?>
<div id ='ajax_nav'></div>
	<script type="text/javascript">
		/* isset for javascript */
		window.isset = function()
		{
			if (arguments.length===0) return false;
			var buff=arguments[0];
			for (var i=0; i<arguments.length; i++)
			{
				if (typeof(buff)==='undefined') return false;
				buff = buff[arguments[i+1]];
				
			}
			return true;
		} 
		BX.ready(
 			function()
			{
				$(window).scroll(
					function()
					{
						if($(window).scrollTop()+$(window).height()+100>=$('#ajax_nav').offset().top)
						{
							if (ajax_nav.NavPageCount > ajax_nav.NavPageNomer )
							{
								//ajax_nav.NavPageCount содержит количество страниц
								//ajax_nav.NavPageNomer всегда 1
								//ajax_nav.NavNum всегда 1
								//bxajaxid уникальный идентификатор
								if(bxajaxid.length == "")
								{
									
									bxajaxid = $('#ajax_nav').parents("div[id*='comp_']").attr('id').replace('comp_','');
									url = location.pathname+'?PAGEN_'+ajax_nav.NavNum+'='+(parseInt(ajax_nav.NavPageNomer)+1)+'&bxajaxid='+bxajaxid+'&'+ ajax_nav.NavQueryString;
								}
								else
								{									
								
									url = location.pathname+'?PAGEN_'+ajax_nav.NavNum+'='+(parseInt(ajax_nav.NavPageNomer)+1)+'&'+ ajax_nav.NavQueryString;
								}
								if (!isset(window, "ajax_sent"))
								{
									ajax_sent = true;
									$('#ajax_nav').addClass('bx-core-waitwindow'); 
									$.get(url,function(data)
										{
											$('#ajax_nav').removeClass('bx-core-waitwindow');
											bxajaxid = $('#ajax_nav').before(data);
											ajax_sent = false;
										});
								}
 								else if (ajax_sent == false)
								{
									ajax_sent = true;
									$('#ajax_nav').addClass('bx-core-waitwindow');
									$.get(url,function(data)
										{
											$('#ajax_nav').removeClass('bx-core-waitwindow');
											bxajaxid = $('#ajax_nav').before(data);
											ajax_sent = false;											
										});
								}
							}
						}
					});
			}
			); 
	</script>

<?}?>


Проблема состоит в том, что на некоторых страницах происходит подгрузка только 2-3 страниц, а на самом деле их больше, или не происходит ajax запроса! Подскажите в каком направлении двигаться.
В одном разделе все работает правильно в другом нет, возможно что то не предусмотрел.
Ответить с цитированием