【问题标题】:Scrollbar doesn't update on page滚动条不会在页面上更新
【发布时间】:2011-02-25 14:11:43
【问题描述】:
我在我的页面上使用 jQuery Masonry 插件。我已经设置好了,当点击一个框时,会显示一个包含框内容的弹出对话框。
我创建了一个演示 here。
在显示弹出窗口之前,页面上有一个滚动条,因为所有框都不适合那里。单击其中一个框时,我将内容附加到弹出窗口中并显示它。我隐藏了所有其他框,但滚动条没有更新以反映弹出窗口,即弹出窗口中的内容小于查看区域,但滚动条仍然停留在框上。
如果你明白我的意思,你能帮帮我吗?
谢谢。
【问题讨论】:
标签:
javascript
jquery
jquery-plugins
scrollbar
jquery-masonry
【解决方案1】:
Masonry 将固定高度应用到包含的 #grid 元素,这就是为什么即使所有内容都被隐藏,滚动高度也保持不变的原因。如果将弹出元素移到包含#grid 元素之外,并在单击时显示/隐藏网格,则滚动高度将正确更新。
Updated fiddle
重要的部分:
<div class="reader">
<!-- content -->
</div>
<div id="grid">
<!-- content -->
</div>
<script>
$('.box').click(function() {
$('.reader').show();
$('#grid').hide();
});
$('.reader #close').click(function() {
$('.reader').hide();
$('#grid').show();
});
</script>