Javascript Scroll函数接受相同变量的不同值

Javascript Scroll函数接受相同变量的不同值,javascript,ajax,Javascript,Ajax,我有一个ajax文件,我在选中复选框时调用它。在这个特定的ajax文件中,我还提供了滚动功能 问题是,令人惊讶的是,滚动函数中的变量有不同的值 看看我的代码 $cat_id=0;$sub_cat=0;$sub_cat1=0; if(isset($_POST['cat_id'])){ $cat_id=$_POST['cat_id']; } if(isset($_POST['sub_cat'])){ $sub_cat=$_POST['sub_cat']; } if(isset($_POST['sub

我有一个ajax文件,我在选中复选框时调用它。在这个特定的ajax文件中,我还提供了滚动功能

问题是,令人惊讶的是,滚动函数中的变量有不同的值

看看我的代码

$cat_id=0;$sub_cat=0;$sub_cat1=0;
if(isset($_POST['cat_id'])){
$cat_id=$_POST['cat_id'];
}
if(isset($_POST['sub_cat'])){
$sub_cat=$_POST['sub_cat'];
}
if(isset($_POST['sub_cat1'])){
$sub_cat1=$_POST['sub_cat1'];
}
<script>
$(document).ready(function() {
    var cat_id= <?php echo $cat_id; ?>;
    var sub_cat= <?php echo $sub_cat; ?>;
    var sub_cat1= <?php echo $sub_cat1; ?>;
    alert(sub_cat); //This is 12
    alert(sub_cat1); //This is 0
    $('.autoload').load("ajax_autoload.php", {'sub_cat':sub_cat,'sub_cat1':sub_cat1},
                   function() {track_load++;});
    $('.animation_image').delay(2000).fadeOut();
    $(window).scroll(function() {
        if($(window).scrollTop() + $(window).height() >= ($(document).height()-350))
            {
                if(track_load < total_groups && loading==false)
                {
                    loading = true; //prevent further ajax loading
                    $('.animation_image').show(); //show loading image
                    alert(sub_cat); //This is 12
                    alert(sub_cat1); //This is 13 (because on a previous request it was like this)
                }
            }
});
请注意,这发生在第二次请求之后。在第一次请求时,传递的值为12和13。在第二次请求时,它是12&0,但在滚动函数中,它仍然是12&13


任何主体都可以提供帮助?

变量“加载”在哪里声明?我认为这是范围问题。在显示图像后,请尝试将“sub_cat”、“sub_cat1”值重置为“0”。这可能有助于解决问题。我没有在这里添加全部代码,只是添加了关键代码。这就是为什么不在这里。我会试试你的解决办法