Как добавить функцию ‘scrollTo’ в аккордеон в jQuery-ui-1.8.16, чтобы сосредоточиться на заголовке категории

#jquery-ui #accordion

#jquery-ui #аккордеон

Вопрос:

Это мой аккордеон:http://muso-syndicate.com/accordion/index9.htm Примечание.B. в настоящее время стилизован только для SF, FF, в настоящее время не работает в IE

Если вы выберете заголовок 2-й категории после открытия другого, он не переориентируется на новый заголовок. Например, нажмите на ‘Classical’, затем прокрутите вниз и выберите ‘Jazz’, он не прокручивается автоматически обратно до вершины 2-й категории.

В идеале я хотел бы добавить функцию ‘scrollTo’ в ‘.bind’ в библиотеку пользовательского интерфейса jQuery. Тем не менее, я пробовал различные решения, предложенные в StackOverflow, но, похоже, ни одно из них не работает для меня!

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

Любые предложения были бы с благодарностью приняты, поскольку некоторые люди, похоже, ломают голову над этим!


Обновить:

Я намного приблизился к решению для этого, но все еще требует некоторой настройки, чтобы фокус периодически не прокручивался мимо заголовка категории. Пожалуйста, смотрите код ниже:

     $(function() {
    $( "#categories" ).accordion({
        collapsible: true,
        autoHeight: false,
        active: -1,
        change: function(event, ui)
            {
            $("#categories").bind("accordionchange", function(event, ui)
                {
                    $("#categories").animate({scrollTop: $(ui.newHeader).offset().top}, 1);
                });
            },

        });     
});
  

Комментарии:

1. Я намного приблизился к решению для этого, но все еще требует некоторой настройки, чтобы фокус иногда не попадал в заголовок категории.