【问题标题】:waypoint infinite scroll only adds more data once航点无限滚动只会添加更多数据一次
【发布时间】:2014-03-29 09:38:06
【问题描述】:

1) 我正在使用 jquery waypoint 插件并尝试使用 php/mysql 数据进行无限滚动。 我最初填充了容器,它可以工作,然后当滚动到页面底部时,“更多”链接会附加更多数据。但是......它只附加一次。我猜我需要使用回调来重新启用或其他什么?但是,完全的菜鸟,不知道该怎么做。

2) 让 load-more.php 知道我们在哪个“页面”上的好方法是什么?只需使用会话变量来跟踪,还是有办法从主文件发送参数?

div class="infinite-container">
<?
include("load-more.php");
?>
</div>

<a href="load-more.php" class="infinite-more-link">More</a>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">  </script>
<script src="js/waypoints.min.js"></script>
<script src="js/waypoints-infinite.js"></script>
<script>
$( document ).ready(function() {
     $('.infinite-container').waypoint('infinite');
}); 
</script>

【问题讨论】:

    标签: php jquery scroll infinite


    【解决方案1】:

    如果您的问题与我的相同,那么您的问题可能是由于“路点”无法找到您的 .infinite-more-link。我的“load-more.php”返回的是部分结果,而不是整个页面。 waypoint 使用JQuery.find 尝试在您的 html 中找到更多链接,如果找不到它则关闭无限滚动。这样做的问题是find 只在后代中而不是在根元素中查找。我将无限更多链接包装在跨度标签中,并且航点按预期工作。

    例如

    <span><a href="load-more.php" class="infinite-more-link">More</a></span>
    

    这是working fiddle,删除锚点周围的 div 以复制您的问题。

    【讨论】:

    • 谢谢。我还移动了“更多”链接,因此它是在 load-more.php 中生成的。这样做让我可以做两件事:1)仅在有更多数据时才显示更多链接,以及 2)附加 GET 页面参数,如 load-param.php?page=2,这解决了我最初的问题 #2
    • 另一种解决方案是在waypoints-infinite.js 中将api.jquery.com/find 替换为api.jquery.com/filter: Line '$newMore = $data.find(options.more);'那么应该是'$newMore = $data.filter(options.more);'。
    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多