我的网页都使用典型的固定宽度边距 - 左右自动布局。
.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)。
答案 0 :(得分:1)
您可以比较element.offsetHeight和element.scrollHeight。并根据此更改容器的位置。