我使用基于mootools的分页,效果很好。但是,我希望用户点击新页面(从单击分页链接的底部)返回新的评论集并向上滚动到容器div的顶部。
是否有使用mootools做类似功能的功能?
以下是需要更改的代码:
var Comments = new Class({
id: 0,
page: 0,
object: null,
name: null,
parentid: 0,
folder: './',
initialize: function(id, object, name, folder){
// Setup
this.id = id;
this.object = object;
this.name = name;
this.folder = folder;
// Get the comments for this page
this.getComments(this.page);
},
cacheDefeat: function() {
var myDate = new Date();
return '&r=' + myDate.getTime();
},
getComments: function(page) {
this.page = page;
var object = this.object;
var req = new Request({
method: 'get',
url: this.folder + 'backend.php',
onSuccess: function(text, xml) {
object.set('html', text);
}
}).send('objid=' + this.name + '&do=read&thumbs=' + $(this.name + "sel").value + '&id=' + this.id + '&page=' + this.page + this.cacheDefeat());
},
});
我无法找到向其添加滚动事件的正确方法。
答案 0 :(得分:1)
你需要的是Fx.Scroll,一个Mootools More Extension。
您可能希望滚动可以使用window
访问的窗口。您想要滚动到窗口的某个子元素的开头。值得庆幸的是,Fx.Scroll有toElement方法,它为我们这样做。所以你可以做到以下几点:
var container = $('idOfDivWithPaginatedContents');
var scoller = new Fx.Scroll(window);
确保上面的代码在您希望滚动页面的函数之外,否则您将创建大量的滚动条而不是一个。然后在该函数内部(确保将滚动条和容器作为参数传递):
var paginationFunction = function(scroller, container) {
//Paginate stuff here
scroller.toElement(container);
}