diff --git a/packages/loading/src/directive.js b/packages/loading/src/directive.js index b1c587d4b..fbc3d9089 100644 --- a/packages/loading/src/directive.js +++ b/packages/loading/src/directive.js @@ -69,7 +69,8 @@ exports.install = Vue => { el.originalPosition = document.body.style.position; ['top', 'left'].forEach(property => { - el.maskStyle[property] = el.getBoundingClientRect()[property] + document.body[`scroll${ property[0].toUpperCase() + property.slice(1) }`] + 'px'; + let scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; + el.maskStyle[property] = el.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] + 'px'; }); ['height', 'width'].forEach(property => { el.maskStyle[property] = el.getBoundingClientRect()[property] + 'px';