NeXan,
тупо найдите обьект к которому хотите перейти после каждого append и before и возьмите top этого обьекта.
NeXan,
success: function (newComment) {
var top = 0;
// Если уже есть какие-то комментарии
if($('.commentlist').length > 0){
// Если текущий комментарий является ответом
if($('#respond').parent().hasClass('comment')){
// Если уже есть какие-то ответы
if($('#respond').parent().children('.children').length){
$('#respond').parent().children('.children').append(newComment);
top = $('#respond').parent().children('.children').find("чёрт знет что").offset().top;
} else {
// Если нет, то добавляем <ul class="children">
newComment = '<ul class="children ajax-com">'+newComment+'</ul>';
$('#respond').parent().append(newComment);
top = $('#respond').parent().find(".children.ajax-com").offset().top;
}
// закрываем форму ответа
$("#cancel-comment-reply-link").trigger("click");
} else {
// обычный коммент
$('.commentlist').append(newComment);
top = $('.commentlist').find("чёрт знет что").offset().top;
}
}else{
// если комментов пока ещё нет, тогда
newComment = '<ol class="commentlist">'+newComment+'</ol>';
$('#respond').before($(newComment));
top = $('.commentlist').offset().top;
}
$('body,html').animate({scrollTop: top}, 2000);
// очищаем поле textarea
$('#comment').val('');
},