JQuery прокрутить на якорь по клику? - PullRequest
2 голосов
/ 01 апреля 2011

В основном у меня есть эта функция класса, которая создает нумерацию страниц. Я хочу каким-то образом использовать плавную прокрутку, чтобы переместить страницу обратно в верхнюю часть div контейнера комментариев, но я не уверен, где или какая функция мне потребуется для этого.

var Comments = function(options) {
    this.options = {
            id: 0,
            page: 0,
            object: null,
            name: null,
            parentid: 0,
            folder: './'
        };

    this.options = $.extend(this.options, options || {});  

    this.getComments =  function(page) {
        this.options.page = page;
        var object = this.options.object;
        var data = 'objid=' + this.options.name;
        $.ajax({
           type: "GET",
           url: this.options.folder + 'backend.php',
           data: data,
           success: function(msg){
             object.html(msg);
           }
         });
    };  

    this.getComments(this.options.page);
});

Я хотел бы получить что-то в функции getComments, которая перемещает его до идентификатора контейнера. Есть хороший способ?

1 Ответ

7 голосов
/ 01 апреля 2011

Если ваш комментарий div имеет идентификатор comment-div, то вы можете сделать это:

$('html,body').animate({
    scrollTop: '+=' + $('#comment-div').offset().top + 'px'
}, 'fast');

Вы можете регулировать скорость по мере необходимости, просто обратитесь к документации animate для получения подробной информации.

...