用户使用django-endless-pagination和jquery-waypoints滚动时更改页面URL?

时间:2015-07-21 21:34:29

标签: jquery jquery-waypoints django-endless-pagination

我正在尝试使用history.pushState()更改浏览器网址,因为用户会滚动浏览电影列表。我正在使用django-endless-pagination和Twitter风格的分页。

我想要做的是,当用户不断向上或向下滚动当前的电影列表时,URL会发生变化。假设用户向下滚动到第9页,URL将更新为/?page=9。但是,如果用户向上滚动到第2页,则网址应更新为/?page=2

结果是,如果用户点击某个链接,然后点击后退按钮,则会返回到他们所在的最后一个“页面”。

这可以继续使用django-endless-pagination,但如果用户向上滚动页面,我希望它反向工作。我认为jquery-waypoints是我问题的答案。

我通过Ajax加载页面生成了这个:

<li style="display: none">
  <div id="waypoint1" class="waypoint" data-request-path="/movie/?page=1"></div>
</li>

这些中的每一个都获得一个唯一的ID,并且有一类航路点。数据请求路径是当前的“页面”路径。

我试图使用:

$(".waypoint").waypoint(function() {
    history.pushState({scrollTop:document.body.scrollTop},document.title,$(this.element).attr("data-request-path"));
});

我们第一次传递航点时会起作用,但在传递其他航点时不起作用。在用户滚动之前,通过Ajax提取其他结果之前,文档中不存在这些额外的航点。

我需要做些什么才能让路标在滚动到页面并显示在页面上时导致URL更改?

0 个答案:

没有答案