2

我隐藏了一个 div(在页面底部),这会导致文档的整体高度缩小。

当我在隐藏 div 之前一直向下滚动到页面底部时,Chrome 会正确地将文档底部调整到窗口底部。

当我没有一直向下滚动但在隐藏 div 之前至少在窗口底部边缘下方留下一个像素时,Chrome 不会将文档底部调整到窗口底部。相反,文档缩小并低于 Chrome 的灰色织物背景显示。然后,只要我滚动页面至少一个像素,Chrome 就会再次将文档调整到窗口。

这可以使用 Chrome 的开发工具在任何网站上复制。几乎(!)向下滚动到底部,选择任何元素并设置display:noneor height:0

我在 OS X 10.8.4 上使用 Chrome 29。这是一个已知的错误?

一种解决方法是在隐藏元素后使用 jQuery 的 scrollTop 函数向上滚动一个像素。然后 Chrome 会调整文档。

var y = $(window).scrollTop();
$(window).scrollTop(y-1);

现在,当我想使用 jQuery 的 slideToggle() 隐藏元素时,它变得很棘手。有任何想法吗?

4

1 回答 1

0

由于我们似乎已经验证了它,是的,这是一个已知的错误;)请务必在您向浏览器供应商的报告中​​提及跨操作系统的行为不一致。

于 2013-09-12T07:55:29.173 回答