1 | import getScrollBarSize from "./getScrollBarSize";
|
2 | import setStyle from "./setStyle";
|
3 | function isBodyOverflowing() {
|
4 | return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;
|
5 | }
|
6 | var cacheStyle = {};
|
7 | export default (function (close) {
|
8 | if (!isBodyOverflowing() && !close) {
|
9 | return;
|
10 | }
|
11 |
|
12 |
|
13 | var scrollingEffectClassName = 'ant-scrolling-effect';
|
14 | var scrollingEffectClassNameReg = new RegExp("".concat(scrollingEffectClassName), 'g');
|
15 | var bodyClassName = document.body.className;
|
16 | if (close) {
|
17 | if (!scrollingEffectClassNameReg.test(bodyClassName)) return;
|
18 | setStyle(cacheStyle);
|
19 | cacheStyle = {};
|
20 | document.body.className = bodyClassName.replace(scrollingEffectClassNameReg, '').trim();
|
21 | return;
|
22 | }
|
23 | var scrollBarSize = getScrollBarSize();
|
24 | if (scrollBarSize) {
|
25 | cacheStyle = setStyle({
|
26 | position: 'relative',
|
27 | width: "calc(100% - ".concat(scrollBarSize, "px)")
|
28 | });
|
29 | if (!scrollingEffectClassNameReg.test(bodyClassName)) {
|
30 | var addClassName = "".concat(bodyClassName, " ").concat(scrollingEffectClassName);
|
31 | document.body.className = addClassName.trim();
|
32 | }
|
33 | }
|
34 | }); |
\ | No newline at end of file |