微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery无限滚动“重置”

我正在使用无限滚动jQuery插件的网站( https://github.com/paulirish/infinite-scroll)

一切都很好,除了我的页面一个搜索,所以…发生什么是:

1)你进入页面,浏览器自动找到你,并给你一个你周围的项目列表(例如吧)…无限滚动需要避免分页这个列表.一切都在这里工作,除了我可以重写“终极无限页面”和插件“解除绑定”本身的滚动.

2)现在….当你想在输入文本中手动插入一个地址,你可以自由地做…你写你的地址,然后按enter …和ajax(没有页面刷新)..我会寻找lat / lon,找到地址,更改无限滚动的导航链接….而且我觉得很笨,但是我无法找出一种“重新激活”或“重新绑定”的方式“事件的插件….所以我的”新的搜索结果“没有一个新的”无限滚动“实例…

(页面“拆分”正确并正确地返回一个json尝试改变“page = NUM​​BER”)

这是在控制台中发生的情况:

["math:",468]
jquery.infinitescroll.min.js:20["heading into ajax",Array[2]
    0 : "/ajax/getCoworkings/?page="
    1 : "&latitude=52.5234051&longitude=13.4113999&distance=12"
    length : 2
    __proto__ : Array[0]
]
jquery.infinitescroll.min.js:20["Using JSON via $.ajax() method"]
jquery.infinitescroll.min.js:20["Error","end"]
jquery.infinitescroll.min.js:20["Binding","unbind"]

在“解除绑定”之后,我无法再绑定它,因此在我的下一个搜索结果……..无限卷动.

解决方法

infinitescroll通过$.data将其所有实例数据存储在元素本身上,因此删除该实例数据是完全重置infinitescroll的唯一可靠的方法.

这两条线应该狠狠地摧毁无限…

$elem.infinitescroll('destroy');
$elem.data('infinitescroll',null);

//现在无限滚动可能会正常重新初始化,没有任何冲突或cruft从前一个实例.

请注意,截至2012年6月,以前的任何答案都不适用于最新版本的jquery.infinitescroll(v2.0)

原文地址:https://www.jb51.cc/jquery/180122.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐