Я пытаюсь получить больше данных, прокручивая страницу вниз, однако код хорошо работает, когда я выполняю функцию щелчка. После того как страница достигла нижней части страницы, я не могу получить данные, даже если получаю дублирующие строки из базы данных (т.е. если я получаю изображение после нажатия, я также получаю то же изображение на выполнение функции прокрутки)
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;
}
});
}
});
});
Задача ещё не решена.
Других решений пока нет …