No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

40 líneas
1.2 KiB

  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. } // https://github.com/ant-design/ant-design/issues/19729
  11. var scrollingEffectClassName = 'ant-scrolling-effect';
  12. var scrollingEffectClassNameReg = new RegExp("".concat(scrollingEffectClassName), 'g');
  13. var bodyClassName = document.body.className;
  14. if (close) {
  15. if (!scrollingEffectClassNameReg.test(bodyClassName)) return;
  16. setStyle(cacheStyle);
  17. cacheStyle = {};
  18. document.body.className = bodyClassName.replace(scrollingEffectClassNameReg, '').trim();
  19. return;
  20. }
  21. var scrollBarSize = getScrollBarSize();
  22. if (scrollBarSize) {
  23. cacheStyle = setStyle({
  24. position: 'relative',
  25. width: "calc(100% - ".concat(scrollBarSize, "px)")
  26. });
  27. if (!scrollingEffectClassNameReg.test(bodyClassName)) {
  28. var addClassName = "".concat(bodyClassName, " ").concat(scrollingEffectClassName);
  29. document.body.className = addClassName.trim();
  30. }
  31. }
  32. });