2010-08-31 82 views
2

我使用基于mootools的分页工作正常。然而,我想在用户点击一个新页面(从点击分页链接的底部)返回新的一组评论并回滚到容器div的顶部。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

你需要的是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); 
}