javascript在底部滚动时执行功能

时间:2013-09-27 07:53:39

标签: jquery

我有一段JS代码,我只需将各个部分连接在一起就能使它工作。 我的js代码将加载更多内容,从数据库中获取。现在它工作得很好,当用户点击链接时,会加载更多内容。

现在我想让它在页面接近结束时自动加载。 我的代码:

加载更多功能

function myFunction() {
    $(window).scroll(function () {
        if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
            $("load_more"); < ---- ** HOW DO I CALL THE LOAD FUNCTION ?**
    }
    });

    $(function () {
        $(document).on("click", ".load_more", function () {
            var last_msg_id = $(this).attr("id");
            var device =<? php echo $idevice; ?>;
            if (last_msg_id != 'end') {
                $.ajax({//Make the Ajax Request
                    type: "POST",
                    url: "index_more.php",
                    data: "lastmsg=" + last_msg_id + "&aa=" + device,
                    beforeSend: function () {
                        $('a.load_more').html('<img src="img/loading.gif" />');
                    },
                    success: function (html) {
                        $("#more").remove();
                        $("ol#updates").append(html);
                    }
                });

            }
            return false;
        });
    });

所以,我的问题是如何从$(window).scroll调用“load_more”函数?

谢谢!

1 个答案:

答案 0 :(得分:2)

只需按下按钮,即可点击

$(window).scroll(function () {
   if ($(window).scrollTop() >= ($(document).height() - $(window).height() - 10)) {
      $(".load_more").trigger('click'); 
   }
});

因此也需要进行一些修改,

$(function() {

    $(window).scroll(function () {
       if ($(window).scrollTop() >= ($(document).height() - $(window).height() - 10)) {
          $(".load_more").trigger('click'); 
       }
    });

    $(document).on("click",".load_more",function() {
        var last_msg_id = $(this).attr("id");
        var device=<?php echo $idevice; ?>;
        if(last_msg_id!='end'){
            $.ajax({//Make the Ajax Request
                type: "POST",
                url: "index_more.php",
                data: "lastmsg="+ last_msg_id+"&aa="+device,
                beforeSend:  function() {
                    $('a.load_more').html('<img src="img/loading.gif" />');
                },
                success: function(html){
                    $("#more").remove();
                    $("ol#updates").append(html);
                }
            });

        }
        return false;
    });
});

希望这符合要求。