Свиток сбрасывается в div, когда div скрыт - PullRequest
2 голосов
/ 02 апреля 2010

Я использую вкладки пользовательского интерфейса jquery, и когда я переключаю вкладки, все прокручиваемые элементы div, которые у меня есть внутри этой вкладки, сбрасывают их положение в верхнюю часть экрана, когда я вкладываю вкладку от нее и возвращаюсь к ней. Кто-нибудь знает, как это предотвратить?

1 Ответ

1 голос
/ 02 апреля 2010

Это происходит потому, что вкладка скрыта, фактически сворачивая ее высоту до 0 и сбрасывая прокрутку. Вы не можете действительно предотвратить это, потому что это неизбежно, но вы можете установить положение прокрутки обратно туда, где оно было так:

$("#tabs").tabs({
    select: function(event, ui) {
        var prevTab = $(ui.panel).parent()
                                 .children(".ui-tabs-panel:not(.ui-tabs-hide)");
        prevTab.data("scrollTop", prevTab.scrollTop());
    },
    show: function(event, ui) {
        var tab = $(ui.panel);
        if(tab.data("scrollTop"))
            tab.scrollTop(tab.data("scrollTop"));
    }
});​

Сохраняет позицию прокрутки при выходе из вкладки, восстанавливает ее при возврате к ней.
Вот короткая демонстрация для тестирования , наслаждайтесь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...