如何使用Backbone.Paginator.js运行多个实例?
我正在尝试使用Backbone.Paginator.js
在同一页面上运行多个应用程序(paginator的多个实例)。
我创build了一个testing页面。 (导航到backbone.paginator/examples/netflix-infinite-paging
)。
我离开了app.js
的代码,并创build了app2.js
,这是app.js
一个克隆,但是所有的javascript代码都位于一个文件中,并且应用程序已经被重命名为app2。
两个实例工作在页面的第一次加载,但随后的请求/刷新只加载app2.js的数据。
是否有可能在同一页面上运行多个实例?
- 我有兴趣使用自动分页(无限/无限滚动),所以我试图使用保罗爱尔兰的
jQuery Infinite Scroll plugin
但我无法得到它的工作。 - 我正在启动插件以在文档就绪(这不起作用,如预期的那样)上运行,但是也在app2的ResultView中运行代码,这不起作用。
任何想法如何获得自动分页无限滚动解决scheme?
- 我跑到https://github.com/joneath/infiniScroll.js,但我不知道如何将其与Backbone.Paginator.js集成。
- 我仍然在学习,任何帮助将不胜感激! 🙂
更新:经过不同浏览器的进一步testing,似乎问题可能是caching问题/差异。 例如,在Safari中,刷新页面时有时(随机)有效。 我不知道如何debugging。 有任何想法吗?
问题:1-您是否在代码库中包含jQuery Javascript框架依赖关系? 2 – 我已经下载了zip文件,在Xammp本地运行它,它似乎是一个下载的演示而不是testing页面,请问您能确认哪个页面是您的testing页面从压缩文件附加到您的问题? 3-你可以在jsfiddle中创build一个模型(如果有一些服务器端代码发生的话)? 4-为无限滚动jquery插件提供的链接被打破,它应该是: https : //github.com/joneath/infiniScroll.js
如果你想让jQuery paginator插件独立,你也可以考虑容器元素来触发它
….
从build议的链接,我认为我们应该试试这个。 否则,您可能需要为浏览器创build一个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来触发它,以便初始化滚动到所需的容器上。
所有这些想法都可以通过快速的看出来,但如果有帮助,或者至less给出了一些方向,可以随时回复。
4#另一个想法是,myView可以是一个JavaScript中的时间戳ID的variables,这样,你可以确保唯一性,因为你正在调用新的,那么你可以有多个插件的实例运行您的视图。