Mootools вернуться в начало содержимого div? - PullRequest
2 голосов
/ 31 августа 2010

Я использую нумерацию на основе 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 Ответ

1 голос
/ 31 августа 2010

Что вам нужно, это Fx.Scroll , расширение Mootools More.

Возможно, вы захотите прокрутить окно, к которому вы можете получить доступ с помощью window.Вы хотите прокрутить до начала некоторого дочернего элемента окна.К счастью, у Fx.Scroll есть метод toElement, который делает это для нас.Таким образом, вы можете сделать следующее:

var container = $('idOfDivWithPaginatedContents');

var scoller = new Fx.Scroll(window);

Убедитесь, что приведенный выше код находится за пределами функции, в которой вы хотите прокрутить страницу, иначе вы создадите множество скроллеров вместо одной.Затем внутри этой функции (убедитесь, что вы передаете скроллер и контейнер в качестве параметров):

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

    scroller.toElement(container);
}
...