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