masonry-jquery ajax не может получить данные о прокрутке

Я пытаюсь получить больше данных, прокручивая страницу вниз, однако код хорошо работает, когда я выполняю функцию щелчка. После того как страница достигла нижней части страницы, я не могу получить данные, даже если получаю дублирующие строки из базы данных (т.е. если я получаю изображение после нажатия, я также получаю то же изображение на выполнение функции прокрутки)
Please help I'm new to masonry and jquery

$(document).on('click','.searchbox-icon',function(){

var that=$(this);
$('#nets').hide();

var request;
var flag = 0;
console.log(flag);

var insert = "<?php echo $_SESSION['username']; ?>";

if(request){
request.abort();
}

request = $.ajax({
type: "POST",
url:"get_data_t_l_o_t_d.php",
data: {
insert: insert,
'offset':0,
'limit':20
},
success: function(data){


//---------s----------------//
var sizer = '.sizer4';

var container = $('.sets');

container.imagesLoaded(function(){
container.masonry({
itemSelector: '.item-masonry',
columnWidth: sizer,
percentPosition: true
}).imagesLoaded(function(){
container.masonry('reloadItems');
container.masonry('layout');
});

$('.item-masonry').each(function(i){
setTimeout(function(){
$('.item-masonry').eq(i).addClass('is-visible');
});
});
});

$('.sets').append(data);//Put the data to the #nets div

$('.sets_b_x_r').show();
$('.sets').show();

/*container.masonry('reload',function(){
console.log('Masonry has finished reloading.');
});
container.masonry('reload');*/
//---------e----------------//


flag += 20;
}
});

$(window).scroll(function(){
//$().scrollTop()//how much has been scrolled
//$().innerHeight()// inner height of the element
//DOMElement.scrollHeight//height of the content of the element

if($(window).scrollTop() >= ($(document).height() - $(window).height())*0.2){
console.log(flag);

if(request){
request.abort();
}

request = $.ajax({
type: "POST",
url:"get_data_t_l_o_t_d.php",
data: {
insert: insert,
'offset': flag,
'limit':20
},
success: function(data){


//---------s----------------//
var sizer = '.sizer4';

var container = $('.sets');

container.imagesLoaded(function(){
container.masonry({
itemSelector: '.item-masonry',
columnWidth: sizer,
percentPosition: true
}).imagesLoaded(function(){
container.masonry('reloadItems');
container.masonry('layout');
});

$('.item-masonry').each(function(i){
setTimeout(function(){
$('.item-masonry').eq(i).addClass('is-visible');
});
});

$('.sets').append(data);

});


//---------e----------------//

flag +=20;
}

});
}
});
});

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]