Javascript jqueryajax正在调用多次滚动
在下面的代码中,iam正在滚动调用ajax。 但这是多次调用ajax。为了限制这一点,我添加了setTimeout函数和标志(即isActive),但它仍在调用两次。Javascript jqueryajax正在调用多次滚动,javascript,jquery,ajax,onscroll,Javascript,Jquery,Ajax,Onscroll,在下面的代码中,iam正在滚动调用ajax。 但这是多次调用ajax。为了限制这一点,我添加了setTimeout函数和标志(即isActive),但它仍在调用两次。 请帮帮我,我哪里出错了。 提前谢谢 var isActive = false; var sIndex =12; var myflag = '1'; var offSet = 12; var timeout; jQuery(window).scroll(function () { if(typeof timeout ==
请帮帮我,我哪里出错了。
提前谢谢
var isActive = false;
var sIndex =12;
var myflag = '1';
var offSet = 12;
var timeout;
jQuery(window).scroll(function () {
if(typeof timeout == "number") {
window.clearTimeout(timeout);
delete timeout;
}
timeout = window.setTimeout( check, 500);
});
function check(){
var cat = $(".mi-selected").attr('id');
var tecID = $("#technologyID").val();
var notSameInd = $("#notSameInd").val();
var sIndex =$("#startInd").val();
if (!isActive && ($(window).scrollTop() + $(window).height() == $(document).height()) && (sIndex !== notSameInd) ) {
var isActive = true;
jQuery.ajax({
type: "POST",
url: 'http://some.com/responcePortfolio.php',
data: {
tecID:tecID,
cat:cat,
startIndex:sIndex,
offset:offSet,
count_now:count_now
},
success: function (result) {
if(result !== ''){
jQuery("#LoaderImage").hide();
jQuery("#portfolioList").append(result);
$("#notSameInd").val(sIndex);
sIndex = parseInt(sIndex) + parseInt(offSet);
$("#startInd").val(sIndex);
}
else{
jQuery("#LoaderImage").hide();
}
isActive = false;
},
error: function (error) {
//alert(error);
}
});
}
}您的代码似乎没有问题,
检查
函数调用一次。你们可以看到这里感谢重播,检查它在那个里工作,但当我使用上面的代码时,当滚动器到达末尾时,它会返回并再次调用,它不是一直都在发生,只是有些时候。检查旗杆时有什么问题吗?控制台有什么错误吗?尤其是在这种情况下,您会出现奇怪的行为?当滚动到iam调用ajax的末尾时,控制台中不会显示任何错误。如果scorler有时两次到达终点,那么同一个ajax调用会发生多次。如果没有问题,请浏览此链接并向下滚动查看结果。