javascript - JScroll:在 ajax 更改选项卡和 URI 后更改 nextHref
问题描述
JScroll 看不到 javascript 何时更改了窗口历史记录pushState
。
我为索引页面上的帖子添加了 JScroll。例如,默认 URL 是localhost。并且当之后没有路径时,将加载默认帖子,并且 jscroll 将按应有的方式工作。
但是我在索引页面上有标签(新的、顶部的、热门的),它们改变了帖子的顺序。因此,当我单击一个选项卡时,它会使用 动态更改 URL window.history.pushState
,并使用新过滤器发送请求以显示帖子。
但是在 JScroll 中,它仍然会留下旧的 href 并加载旧数据。例如 - 我在localhost/new上滚动,当我在 JScroll 中将选项卡更改为localhost/topnextHref
时,而"http://localhost:8000/new?page=3 div.infinite-scroll"
不是"http://localhost:8000/top?page=1 div.infinite-scroll"
.
如何更改它以使其与选项卡同步?
解决方案
我找到了解决方案。
每次更改选项卡后,我
$('.infinite-scroll').removeData('jscroll').jscroll.destroy();
再次添加并调用 JScroll 初始化程序。
推荐阅读
- android - 从货币字符串android中删除尾随零
- c# - C# - 在 .Net Core 3.1 中使用 Entity Framework Core 3 HasConversion 将字段转换为 JSON
- python - 为什么 Python 的小数精度与浮点精度无关?
- php - 使用 woocommerce_checkout_order_created 时有没有办法添加多个参数?
- javascript - 通过 ref 改变 Component 的值
- html - 通过浏览器直接加载 html 与使用 IIS 加载(Visual Studio 2019)
- python - 如何让 pip 知道删除 systemd 服务文件
- node.js - 在解决未满足的依赖方面遇到困难
- python - 使用 M 或 Python 的 PowerBI 正则表达式
- flutter - Flutter Getx 通知所有监听器