2019-08-28 22:56:51 +08:00
|
|
|
import getScrollBarSize from './getScrollBarSize';
|
|
|
|
|
2019-08-29 22:50:53 +08:00
|
|
|
export default close => {
|
|
|
|
const bodyIsOverflowing =
|
|
|
|
document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) &&
|
2019-08-28 22:56:51 +08:00
|
|
|
window.innerWidth > document.body.offsetWidth;
|
|
|
|
if (!bodyIsOverflowing) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (close) {
|
|
|
|
document.body.style.position = '';
|
|
|
|
document.body.style.width = '';
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
const scrollBarSize = getScrollBarSize();
|
|
|
|
if (scrollBarSize) {
|
|
|
|
document.body.style.position = 'relative';
|
|
|
|
document.body.style.width = `calc(100% - ${scrollBarSize}px)`;
|
|
|
|
}
|
|
|
|
};
|