Как добавить функцию «scrollTo» в Аккордеон в jQuery-ui-1.8.16, чтобы сосредоточиться на заголовке категории - PullRequest
1 голос
/ 11 ноября 2011

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

Если вы выберете заголовок 2-й категории после открытия другого, он не будет перефокусирован на новый заголовок. Например, нажмите «Классический» , затем прокрутите вниз и выберите «Джаз» , он автоматически не прокручивается вверх до вершины 2-й категории.

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

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

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


UPDATE:

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

    $(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);
                });
            },

        });     
});
...