jquery无限滚动“重置”

前端之家收集整理的这篇文章主要介绍了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)

猜你在找的jQuery相关文章