计算滚动条的宽度
在做一个图片放大功能,给html
加上overflow:hidden
之后发现网页会跳动
原因是hidden
之后,滚动条消失,body
的宽度就会增加。
看了一下知乎的实现,大概就是先计算出滚动条的宽度,当html
加overflow:hidden
的时候,让html
本身向右偏移,偏移的像素就是滚动条的宽度。同理,滚动条出现的时候,取消偏移。
滚动条宽度 = 窗口宽度 - 内容宽度
width = window.innerWidth - document.body.scrollWidth