隐藏div时滚动位置丢失

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

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

我做错了什么或这是一个错误。 有没有办法围绕它与som插件。

/安德斯

感谢您的答案和解决方案。 但是如果我隐藏的div是一个外部div而且滚动的div在我隐藏的div内部会怎样。 有没有一种聪明的方法来解决这个问题。 但是现在我无法在隐藏/显示的回调中设置/保存滚动位置

如果将位置保持为数据,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'); } }); 

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

使用“overflow:auto”滚动div的位置