我想在我的页面上实现一个jQuery滚动函数,只有在用户处于特定类别时滚动到页面底部才会在div上附加更多数据。
类别更改是在变量“katcheck”上进行的。只有当katcheck ==“k”时才会发生追加。但是滚动函数一旦触发,就不会听变量的变化。 或者换句话说:当katcheck变为其他东西时,滚动功能仍然将katcheck保存为“k”。
这是代码段:
var $start=8;
var $length=2;
$contentLoadTriggered = false;
$(window).scroll(function() {
if($(window).scrollTop() >= ($("#full-page-container").height() - $(window).height()) && $contentLoadTriggered == false && katcheck == "k")
{
alert(katcheck);
$contentLoadTriggered = true;
$.get('getgallery_by_kat2.php', { k_id:1, st:$start, ln:$length }, function(data) {
$(data).hide().appendTo(".imgmain").fadeIn();
$contentLoadTriggered = false;
$start=$start+2; $("div#descri").hide();
});
}
});
如何让滚动功能识别变量?我在函数中添加的警告证明,即使所有其他函数都能识别出更改,滚动函数也不会。
谢谢
答案 0 :(得分:1)
ajax查询$ .get()以异步方式运行。
意味着将花费时间来完成它的职责。
通过关闭异步模式,您可以确保它具有正确的数据。
像这样:
jQuery.ajaxSetup({async:false});
然后使用jQuery.get(...);
执行ajax调用然后再将其打开一次
jQuery.ajaxSetup({async:true});