Ajax在页面加载时触发

时间:2017-02-28 17:45:14

标签: javascript php ajax

我希望有人能找到我的问题所在。我的脚本只在向下滚动时触发...我需要该功能。它没有做的就是点亮页面加载,我最初需要它。因此,它首先加载内容,然后我可以向下滚动页面以获取更多新内容。

我尝试将ajax放在函数名称外的函数中,但它仍然没有触发。

$(document).ready(function() {
    $(window).scroll(function() {
        if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) {
            flag = true;
            first = $('#first').val();
            limit = $('#limit').val();
            no_data = true;
            if (flag && no_data) {
                flag = false;
                $('#loadmoreajaxloader').show();
                $.ajax({
                    url: "commentedoncontent.php",
                    dataType: "json",
                    method: "POST",
                    cache: false,
                    data: {
                        start: first,
                        limit: limit
                    },
                    success: function(data) {
                        flag = true;
                        $('#loadmoreajaxloader').hide();
                        if (data.count > 0) {
                            first = parseInt($('#first').val());
                            limit = parseInt($('#limit').val());
                            $('#first').val(first + limit);
                            $.each(data.posts, function(i, response) {
                                //post content here
                            });
                        } else {
                            alert('No more data to show');
                            no_data = false;
                        }
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(xhr.status);
                        flag = true;
                        no_data = false;
                    }
                });
            }
        }
    });
});

2 个答案:

答案 0 :(得分:1)

您需要将其作为一个函数分开,因此您可以在页面加载时滚动和调用它:

$(document).ready(function() {
    myFunction();
    $(window).scroll(function() {
        if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) {
            myFunction();
        }
    });
});
function myFunction(){
    /* all the logic goes here */
}

答案 1 :(得分:1)

您可以将代码放在一个函数中,然后在页面加载和滚动时执行它。

$(document).ready(function() {
  doStuff(); //choose the name that you want 

  $(window).scroll(function() {
    doStuff();
   });
});

function doStuff(){    
        if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) {
            flag = true;
            first = $('#first').val();
            limit = $('#limit').val();
            no_data = true;
            if (flag && no_data) {
                flag = false;
                $('#loadmoreajaxloader').show();
                $.ajax({
                    url: "commentedoncontent.php",
                    dataType: "json",
                    method: "POST",
                    cache: false,
                    data: {
                        start: first,
                        limit: limit
                    },
                    success: function(data) {
                        flag = true;
                        $('#loadmoreajaxloader').hide();
                        if (data.count > 0) {
                            first = parseInt($('#first').val());
                            limit = parseInt($('#limit').val());
                            $('#first').val(first + limit);
                            $.each(data.posts, function(i, response) {
                                //post content here
                            });
                        } else {
                            alert('No more data to show');
                            no_data = false;
                        }
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(xhr.status);
                        flag = true;
                        no_data = false;
                    }
                });
            }
        }

}