我隐藏了一个 div(在页面底部),这会导致文档的整体高度缩小。
当我在隐藏 div 之前一直向下滚动到页面底部时,Chrome 会正确地将文档底部调整到窗口底部。
当我没有一直向下滚动但在隐藏 div 之前至少在窗口底部边缘下方留下一个像素时,Chrome 不会将文档底部调整到窗口底部。相反,文档缩小并低于 Chrome 的灰色织物背景显示。然后,只要我滚动页面至少一个像素,Chrome 就会再次将文档调整到窗口。
这可以使用 Chrome 的开发工具在任何网站上复制。几乎(!)向下滚动到底部,选择任何元素并设置display:none
or height:0
。
我在 OS X 10.8.4 上使用 Chrome 29。这是一个已知的错误?
一种解决方法是在隐藏元素后使用 jQuery 的 scrollTop 函数向上滚动一个像素。然后 Chrome 会调整文档。
var y = $(window).scrollTop();
$(window).scrollTop(y-1);
现在,当我想使用 jQuery 的 slideToggle() 隐藏元素时,它变得很棘手。有任何想法吗?