getNextPage之后Chrome中的骨干分页滚动问题

时间:2017-07-05 09:36:15

标签: javascript jquery css google-chrome backbone.js

在“无限”模式下对骨干和backbone.pageableCollection的新功能,一切正常,除非我打电话到下一页。在调用加载下一页之后,Chrome和safari一直滚动到页面顶部,而不是维护滚动位置并加载下面的记录,这使得用户非常讨厌必须再次向下滚动。这是我用来获取下一页的代码

this.collection.getNextPage({remove: false, silent: true});

在Firefox和Opera中,一切都很好用,它们都保持滚动位置并加载下一条记录,但Chrome和safari不起作用,是我们网络应用程序最常用的浏览器。

我已尝试过

的所有内容

var pos = window.pageYOffset; this.collection.getNextPage({remove: false, silent: true}); window.scrollTo(0, pos);

要设置超时并且无效,它总是向上滚动到页面顶部

setTimeout(function() {window.scrollTo(0, pos);}, 1);

此时,我仍然坚持使用解决方案,以便Chrome和Safari保持滚动位置。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

最后找到了一个适用于所有浏览器的解决方案,可以保持滚动位置。如果有人知道为什么要解释会很好,谢谢!

var pos = window.pageYOffset;

this.collection.getNextPage({remove: false, silent: true});

$("html,body").animate({ scrollTop: pos }, "slow");