jQuery аккордеон, прокручивает начало нажатой вкладки до самого верха, не работает, если развернутая вкладка находится над той, по которой щелкают?

У меня небольшая проблема с тем, чтобы заставить мой jQuery аккордеон делать то, что я хочу.

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

Вот что я получил:

$(function() {
    $("#accordion").accordion({
        autoHeight: false,
        collapsible: true,
        heightStyle: "content",
        active: 0,
        animate: 300
    });
    $('#accordion h3').bind('click',function(){
        theOffset = $(this).offset();
        $('body,html').animate({ 
            scrollTop: theOffset.top - 100 
        });
    });
});

Вотиграть на скрипке чтобы проиллюстрировать мою проблему,

Например, разверните «раздел 2», прокрутите вниз и нажмите вкладку «раздел 3», и все это будет прокручиваться со страницы, хотя и наоборот.

И если закрыть активную вкладку перед открытием новой, она также работает нормально, поэтому я предполагаю, что это связано с высотой сворачивающейся вкладки, которая портит функцию прокрутки вверх !?

Надеюсь, кто-то может помочь, я, вероятно, подхожу к этому неправильно. Я действительно не знаю, что я на самом деле делаю, так как мои навыки jquery ограничены базовым пониманием «вырезать и вставить»! ^^

Заранее спасибо и вся помощь и указатели области больше, чем добро пожаловать! :)

ура

Ответы на вопрос(2)

Ваш ответ на вопрос