From 8452daf0e066c467b26fb6e3f0f35faa6cef00c7 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Thu, 26 May 2022 20:56:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(stage):=20=E9=A1=B5=E9=9D=A2=E5=B0=8F?= =?UTF-8?q?=E4=BA=8E=E7=94=BB=E5=B8=83=E6=97=B6=EF=BC=8C=E6=BB=9A=E5=8A=A8?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/stage/src/StageMask.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/stage/src/StageMask.ts b/packages/stage/src/StageMask.ts index bd7c8cae..d8ddf53a 100644 --- a/packages/stage/src/StageMask.ts +++ b/packages/stage/src/StageMask.ts @@ -162,9 +162,10 @@ export default class StageMask extends Rule { this.setHeight(clientHeight); this.setWidth(clientWidth); - this.fixScrollValue(); this.scroll(); - this.core.dr.updateMoveable(); + if (this.core.dr.moveable) { + this.core.dr.updateMoveable(); + } }); this.pageResizeObserver.observe(page); @@ -218,6 +219,8 @@ export default class StageMask extends Rule { } private scroll() { + this.fixScrollValue(); + let { scrollLeft, scrollTop } = this; if (this.pageScrollParent) { @@ -264,14 +267,14 @@ export default class StageMask extends Rule { * 计算并设置最大滚动宽度 */ private setMaxScrollLeft(): void { - this.maxScrollLeft = this.width - this.wrapperWidth; + this.maxScrollLeft = Math.max(this.width - this.wrapperWidth, 0); } /** * 计算并设置最大滚动高度 */ private setMaxScrollTop(): void { - this.maxScrollTop = this.height - this.wrapperHeight; + this.maxScrollTop = Math.max(this.height - this.wrapperHeight, 0); } /** @@ -333,8 +336,6 @@ export default class StageMask extends Rule { this.scrollLeft = this.scrollLeft + deltaX; } - this.fixScrollValue(); - this.scroll(); this.emit('scroll', event);