0
我创建了一个非常基本的网站,其中包含可以单击的项目列表,然后查看有关该项目的更多详细信息。Backbone.js路由和滚动位置
我遇到的问题是,当您向下滚动项目列表,然后转到项目详细信息视图时,它不会将滚动位置重置为顶部。所以你在新页面的底部,这是令人讨厌的。
我是Backbone.js的新手 - 有没有人遇到过这个?
我创建了一个非常基本的网站,其中包含可以单击的项目列表,然后查看有关该项目的更多详细信息。Backbone.js路由和滚动位置
我遇到的问题是,当您向下滚动项目列表,然后转到项目详细信息视图时,它不会将滚动位置重置为顶部。所以你在新页面的底部,这是令人讨厌的。
我是Backbone.js的新手 - 有没有人遇到过这个?
我发现我的项目(与骨干)相同的问题。使用该解决方案是:
App.Router.on("route", function(data){
$(document).scrollTop(0);
});
所以,每次路由被调用时,之前呈现新的视图,文档页面返回自动在上面。我希望能够提供帮助。 记住,你需要“绑定”这对1次,而不是每个视图)
编辑: 如果路由不是“触发”当你创建新页面,应用此行
$(document).scrollTop(0);
正确的事件:)
EDIT2: 看你的代码(最后一部分)
var projects = new App.Views.Projects();
var project = new App.Views.Project();
var theRouter = Backbone.Router.extend({
routes: {
'': 'home',
':id': 'project'
},
home: function() {
projects.render();
},
project: function(id) {
project.render({id: id});
}
});
var router = new theRouter();
router.on('route', function() {
// MAKE SURE ROUTING BIND IS CALLED
console.log("Hey, im routing !!!");
$(document).scrollTop(0);
});
Backbone.history.start();
试试这个
我本来'window.scrollTo(0,0);'在我的视图渲染方法。所以它会渲染,然后回滚到顶部导致闪烁。将尝试它的路线事件,谢谢:) – Chris 2015-03-03 10:30:15
似乎仍然闪烁:( – Chris 2015-03-03 12:26:12
似乎奇怪,你可以添加一些图片和一些代码?也许我可以帮助更好。 – Aethiss 2015-03-03 15:05:13