当div被隐藏时,滚动在div中重置

时间:2010-04-02 00:35:49

标签: jquery html scrollbar

我正在使用jquery UI选项卡,当我切换选项卡时,我在该选项卡中的任何可滚动div都将其位置重置到屏幕顶部,当我选择远离它并返回它时。有谁知道如何防止这种情况?

1 个答案:

答案 0 :(得分:1)

这是因为选项卡被隐藏,有效地将其高度折叠为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"));
    }
});​

这会在离开标签时存储滚动位置,并在返回时恢复它   Here's a quick demo for testing,享受:)