Анимированная полоса прокрутки со смещением

4

Я использую jQuery UI-аккордеон, но часть текста слишком длинная, что приводит к тому, что она не является верхней частью страницы. То, что я хотел, было, когда раздел был открыт, он переместился бы в начало раздела. Этот код отлично работает при этом, но он привязывается к вершине, что выглядит clitchy.

$('#accordion').bind('click',function(){
theOffset = $(this).offset();
$(window).scrollTop(theOffset.top - 50);
});

Как бы я анимировал scrollTop, чтобы он "скользил" вверху

Большое спасибо

Теги:
jquery-ui-accordion

2 ответа

9
Лучший ответ

Использование

$('body,html').animate({
    scrollTop: theOffset.top - 50
});

вместо

$(window).scrollTop(theOffset.top - 50);
  • 1
    Отлично. Именно то, что мне было нужно. Спасибо.
  • 0
    Рад, что смог помочь. Пожалуйста, примите этот ответ, нажав на флажок слева, если он вам помог. Благодарю. :)
Показать ещё 1 комментарий
0

используйте jquery animimate, чтобы анимировать свойства за указанное время, а не просто применять их мгновенно.

$('#accordion').bind('click',function(){
    theOffset = $(this).offset();
    $('body,html').animate({
        scrollTop: theOffset.top - 50;
    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню