好的伙计们。我有一个类名为“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
}
}
});
答案 0 :(得分:1)
我认为你是以错误的方式触发click事件(因为在你的情况下它不是由用户触发而是通过scroll方法触发)。将$('.more_updates').click();
更改为$('.more_updates').trigger("click");
对.trigger()的调用以与它们相同的顺序执行处理程序 如果事件是由用户自然触发的话
修改/更新强>:
停止点击事件冒泡活动:
...
$('.more_updates').live("click", function (e) {
e.stopImmediatePropagation()
...
当没有满足结果条件时,同时取消绑定/点击.show_more
的事件:
else {
$(".morebox").html('No More Results.'); // no results
$('.more_updates').die("click");
}