我的页面全部使用典型的fixed-width-margin-left-right-auto布局。
.container{
width:900px;
margin:0 auto;
}
小问题来了。这些页面中的某些页面比窗口高,这意味着它们应在右侧显示垂直滚动条。在这些页面和其他页面之间切换时,主容器将移动一点(v-scrollbar的一半宽度)。我知道这是因为父元素(主体)的宽度发生了变化。
但是,是否知道是否有图书馆或现有的黑客工具可以抑制这种行为? (body {overflow-y:scroll;}除外)
回复@Mateusz:
感谢Matousz,一个好主意。我尝试了以下代码
console.log($('body')[0].offsetHeight+' '+$('body')[0].scrollHeight+' '+$('html'[0].offsetHeight+' '+$('html')[0].scrollHeight);
测试结果是
doc smaller than win doc larger than win
firefox 1012 1012 1008 1362 1012 1012 1008 1007
chrome/ie 549 1525 545 545 549 545 545 545
因此它们具有不同的行为,并且比较线程的线程也不同(1和4)。
最佳答案
您可以比较element.offsetHeight和element.scrollHeight。并根据此更改容器的位置。