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());
},
});

我想不出将滚动事件添加到它的正确方法。

4

1 回答 1

1

你需要的是Fx.Scroll,一个 Mootools 更多的扩展。

您可能希望滚动可以使用 访问的窗口window。您想滚动到窗口的某个子元素的开头。值得庆幸的是,Fx.Scroll 有 toElement 方法可以为我们做这件事。因此,您可以执行以下操作:

var container = $('idOfDivWithPaginatedContents');

var scoller = new Fx.Scroll(window);

确保上面的代码在您希望滚动页面的函数之外,否则您将创建大量滚动条而不仅仅是一个。然后在该函数内部(确保将滚动条和容器作为参数传递):

var paginationFunction = function(scroller, container) {
    //Paginate stuff here

    scroller.toElement(container);
}
于 2010-08-31T16:56:42.900 回答