Mootools回归到包含div的顶部?

时间:2010-08-31 16:13:16

标签: javascript mootools mootools1.2

我使用基于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());
},
});

我无法找到向其添加滚动事件的正确方法。

1 个答案:

答案 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);
}