jQuery滚动功能无法识别变量的变化

时间:2011-10-23 15:00:38

标签: jquery variables scroll append

我想在我的页面上实现一个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();    
        });
    }
});

如何让滚动功能​​识别变量?我在函数中添加的警告证明,即使所有其他函数都能识别出更改,滚动函数也不会。

谢谢

1 个答案:

答案 0 :(得分:1)

ajax查询$ .get()以异步方式运行。

意味着将花费时间来完成它的职责。

通过关闭异步模式,您可以确保它具有正确的数据。

像这样:

jQuery.ajaxSetup({async:false});

然后使用jQuery.get(...);

执行ajax调用

然后再将其打开一次

jQuery.ajaxSetup({async:true});