Следующий код извлекает данные со стороны моего сервера и выводит их в DOM. Я также создаю функцию, которая проверяет, прокручивает ли пользователь до нижней части устройства. Если они это сделают, я хочу, чтобы AJAX-вызов шел и получал следующие десять результатов со стороны моего сервера.
function productList(department_id,listingFirstValue,listingSecondValue){
$.mobile.changePage( "#product", { transition: "slide"} );
var listingFirstValueRecall = parseInt(listingSecondValue) + parseInt("1");
var listingSecondValueRecall = parseInt(listingFirstValueRecall) + parseInt("10");
$.ajax({
url: //URL Goes Here,
data: "format=json",
jsonp: "callback",
dataType: "jsonp",
beforeSend:function(){
$.mobile.showPageLoadingMsg();
},
success: function(data){
var numberProducts = 0;
$.each(data, function(index) {
if(numberProducts <= 10){
$('#product-list').append("<li id='"+data[index].product_id+"'>"+data[index].product_id+"<a href='' onclick='productPage("+data[index].product_id+");'><div class='product-listing-image-wrapper'><div class='product-listing-image'><img src='http://images.nitrosell.com/product_images/9/2083/"+data[index].product_image+"' /></div></div><div class='product-listing-textual-wrapper><div class='product-listing-name'>"+data[index].product_name+"</div><div class='product-listing-price'>£"+data[index].product_price+"</div></div></a><div class='kill'></div></li>").listview('refresh');
}
});
$.mobile.hidePageLoadingMsg();
},
error: function(){
$.mobile.hidePageLoadingMsg();
//Output Error
}
})
$(window).scroll(function(){
if($(document).height() > $(window).height()){
if($(window).scrollTop() == $(document).height() - $(window).height()){
//Output values in alert
//Call function
productList(department_id,listingFirstValueRecall,listingSecondValueRecall);
}
}
});
}
Я вызываю функцию из другой части приложения, используя следующее -
productList(department_id+"0,"+"10");
Это загрузит первые десять результатов со стороны сервера, без проблем. Когда я прокручиваю браузер до конца, он загружает 11, 21 со стороны сервера MySQL.
Однако, когда я снова прокручиваю до конца страницы, он снова загружает 11, 21, затем загружает 22, 32 и в любое другое время сохраняет это значение, а затем следующий набор значений
Можете ли вы, ребята, заметить что-нибудь, где я иду не так?
Спасибо