Daha büyük monitörde, sonsuz içerikli kaydırma, div içerik sınırlaması ile tamamlandığında daha fazla başka bir div içeriği yüklemez. Bu yüzden daha fazla düğme oluşturarak bu sorunu düzeltmem gerekiyor.jQuery sonsuz kaydırmaya sahip daha fazla düğme oluştur
Koduma nasıl daha fazla düğme oluştururum?
scroll.php
include('db.php');
if(isset($_REQUEST['actionfunction']) && $_REQUEST['actionfunction']!=''){
$actionfunction = $_REQUEST['actionfunction'];
call_user_func($actionfunction,$_REQUEST,$con,$limit);
}
function showData($data,$con,$limit){
$page = $data['page'];
if($page==1){
$start = 0;
}
else{
$start = ($page-1)*$limit;
}
$sql = "select * from infinitescroll order by id asc limit $start,$limit";
$str='';
$data = $con->query($sql);
if($data!=null && $data->num_rows>0){
while($row = $data->fetch_array(MYSQLI_ASSOC)){
$str.="<div class='data-container'><p>".$row['id']."</p><p>".$row['firstname']."</p><p>".$row['lastname']."</p></div>";
}
$str.="<input type='hidden' class='nextpage' value='".($page+1)."'><input type='hidden' class='isload' value='true'>";
} else {
$str .= "<input type='hidden' class='isload' value='false'><p>Finished</p>";
}
echo $str;
}
scroll.js
var ajax_arry = [];
var ajax_index = 0;
var sctp = 100;
$(function() {
$('#loading').show();
$.ajax({
url: "scroll.php",
type: "POST",
data: "actionfunction=showData&page=1",
cache: false,
success: function (response) {
$('#loading').hide();
$('#demoajax').html(response);
}
});
$(window).scroll(function() {
var height = $('#demoajax').height();
var scroll_top = $(this).scrollTop();
if (ajax_arry.length > 0) {
$('#loading').hide();
for (var i = 0; i < ajax_arry.length; i++) {
ajax_arry[i].abort();
}
}
var page = $('#demoajax').find('.nextpage').val();
var isload = $('#demoajax').find('.isload').val();
if ((($(window).scrollTop() + document.body.clientHeight) == $(window).height()) && isload == 'true') {
$('#loading').show();
var ajaxreq = $.ajax({
url: "scroll.php",
type: "POST",
data: "actionfunction=showData&page=" + page,
cache: false,
success: function (response) {
$('#demoajax').find('.nextpage').remove();
$('#demoajax').find('.isload').remove();
$('#loading').hide();
$('#demoajax').append(response);
}
});
ajax_arry[ajax_index++] = ajaxreq;
}
return false;
if ($(window).scrollTop() == $(window).height()) {
alert("bottom!");
}
});
});
İşte örnek orijinal siteden Demo canlı var.
Acaba kadar net sorunuzu lütfen scroll.js eklenecek? Sorduğun şeyi ve sorunun ne olduğunu anlamak çok zor. –
@MatthewHerbst Yük daha fazla div content düğmesi eklemek istiyorum. –
Neden sayfanın altını kontrol etmek için farklı koşul kullanıyorsunuz? If ($ (window) .scrollTop() == $ (window) .height()) {'&' if ((($ (window) .scrollTop () + document.body.clientHeight) == $ (window) .height())) {'? – itzmukeshy7