我正在尝试使用Backbone.Paginator.js
在同一页面上运行多个应用程序(多个paginator实例)。
I created a test page.(导航至backbone.paginator/examples/netflix-infinite-paging
)。
我将代码保留为app.js
并创建app2.js
,这是app.js
的克隆,但所有javascript代码都位于一个文件中,并且应用已重命名为APP2。
两个实例在第一次加载页面时起作用,但后续请求/刷新只加载app2.js的数据。
是否可以在同一页面上运行多个实例?
jQuery Infinite Scroll plugin
但是
我无法让它发挥作用。关于如何获得自动分页无限滚动解决方案的任何想法?
更新:在跨不同浏览器进行进一步测试后,似乎问题可能是缓存问题/差异。例如,在Safari中,它在刷新页面时有时(随机)工作。我不知道如何调试。有什么想法吗?
答案 0 :(得分:1)
问题: 1-您是否在代码库中包含了jQuery Javascript框架依赖项? 2-我已经下载了zip文件,在本地Xammp上运行它似乎是一个下载的演示而不是测试页面,你能否从你的问题附带的压缩文件中确认哪个页面是你的测试页面? 3-你可以在jsfiddle中创建一个模型(如果有一些服务器端代码发生)吗? 4-为无限滚动jquery插件提供的链接已损坏,应为:https://github.com/joneath/infiniScroll.js
如果你想让jQuery paginator插件独立,你可能想要考虑容器元素来触发它
...
从建议的链接,我认为我们应该试验一下。否则,您可能想要为浏览器创建一个cookie或其他内容,以便记住多个实例上插件的更改。以下是一些想法?
1#
Backbone.InfiniScroll(collection, **options**)
在渲染Backbone视图后实例化新的InfiniScroll对象。
myView = Backbone.View.extend({
initialize: function(){
_.bindAll(this, "render");
this.render();
this.infiniScroll = new Backbone.InfiniScroll(this.collection, {success: this.appendRender});
} )};
2#从选项菜单中一目了然
target: $(window),
也许我们应该尝试:
$(body).find('#container1'),
- 或 -
$(window).children('div').hasClass('container'),
只是一些想法,我自己没有尝试过 -
3#您可能希望将(1)设置为javacript函数并根据类或其id来触发它,以便在所需容器上初始化滚动。
这就是我可以通过快速看一看的所有想法,但如果它有所帮助或至少给出一些指示,请随时回复。
4#另一个想法是myView可以是一个带有Javascript时间戳ID的变量,这样你就可以确保唯一性,因为你正在调用new,那么你可以为你的视图运行多个插件实例。 / p>