5

http://jsfiddle.net/cbp4N/16/

如果你显示 div. 更改滚动位置,然后在滚动位置丢失时隐藏并显示它。

我做错了什么还是这是一个错误。有没有办法用 som 插件解决它。

/安德斯

感谢您的答案和解决方案。但是,如果我隐藏的 div 是外部 div 并且滚动 div 位于我隐藏的 div 的深处,该怎么办。有没有一种聪明的方法来解决这个问题。因为现在我无法在隐藏/显示的回调中设置/保存滚动位置

4

2 回答 2

5

如果您将位置保持为数据,则Jquery 的.scrollTop()效果很好。

$('#cbxShowHide').click(function(){
    if(this.checked) {
        $('#block').show('fast',function() {
            $(this).scrollTop($(this).data('scroll'));
        });
    }
    else {
       $('#block').data('scroll',$('#block').scrollTop());
        $('#block').hide('fast');
    }
});

例子

于 2012-06-11T15:10:16.573 回答
1

这是正常行为,因为当您隐藏它时,该元素被设置为内存中可能最少的变量。如果您想记住滚动位置,您必须自己存储这些位置,然后在显示时应用滚动位置。

使用“溢出:自动”滚动div的位置

于 2012-06-11T15:00:05.237 回答