在用户到达底部之前使用jquery自动触发“加载更多”链接。怎么样?

时间:2011-07-28 21:40:32

标签: jquery scroll autoscroll

好的伙计们。我有一个类名为“more_updates”的链接。我希望每次用户达到页面的80%时自动触发加载更多链接。

我正在列出50种产品。每行包含5个带图像的产品。在底部我加载了更多的链接。如果用户达到第7行或第8行,则应自动触发加载更多链接。这是我正在使用的代码。但它加载了更多的产品。 请告诉我这段代码有什么不对。感谢

<!-- language: lang-js -->
    $(window).scroll(function(){
            if  ($(window).scrollTop() >= ($(document).height() / 2) - $(window).height()){
                if (!flag) {           
                      // if is not loading data, start the call
                      $('.more_updates').click();      // to invoke the click event of loading updates
                }
            }
    });

1 个答案:

答案 0 :(得分:1)

我认为你是以错误的方式触发click事件(因为在你的情况下它不是由用户触发而是通过scroll方法触发)。将$('.more_updates').click();更改为$('.more_updates').trigger("click");

  

对.trigger()的调用以与它们相同的顺序执行处理程序   如果事件是由用户自然触发的话

read more here

修改/更新

停止点击事件冒泡活动:

...
$('.more_updates').live("click", function (e) {
e.stopImmediatePropagation()
...

read more here

当没有满足结果条件时,同时取消绑定/点击.show_more的事件:

else { 
  $(".morebox").html('No More Results.'); // no results
  $('.more_updates').die("click");
}

read more here