BottomSheet: set body overflow:hidden in animation
All checks were successful
/ depoly (push) Successful in 1m8s
All checks were successful
/ depoly (push) Successful in 1m8s
This commit is contained in:
parent
233134c25f
commit
27342936f0
1 changed files with 6 additions and 0 deletions
|
@ -111,6 +111,8 @@ const BottomSheet: ParentComponent<BottomSheetProps> = (props) => {
|
||||||
const rect = element.getBoundingClientRect();
|
const rect = element.getBoundingClientRect();
|
||||||
const easing = "cubic-bezier(0.4, 0, 0.2, 1)";
|
const easing = "cubic-bezier(0.4, 0, 0.2, 1)";
|
||||||
element.classList.add(styles.animated);
|
element.classList.add(styles.animated);
|
||||||
|
const oldOverflow = document.body.style.overflow;
|
||||||
|
document.body.style.overflow = "hidden";
|
||||||
const distance = Math.abs(rect.left - window.innerWidth);
|
const distance = Math.abs(rect.left - window.innerWidth);
|
||||||
const duration = (distance / MOVE_SPEED) * 1000;
|
const duration = (distance / MOVE_SPEED) * 1000;
|
||||||
|
|
||||||
|
@ -127,6 +129,7 @@ const BottomSheet: ParentComponent<BottomSheetProps> = (props) => {
|
||||||
);
|
);
|
||||||
const onAnimationEnd = () => {
|
const onAnimationEnd = () => {
|
||||||
element.classList.remove(styles.animated);
|
element.classList.remove(styles.animated);
|
||||||
|
document.body.style.overflow = oldOverflow;
|
||||||
animation = undefined;
|
animation = undefined;
|
||||||
};
|
};
|
||||||
animation.addEventListener("cancel", onAnimationEnd);
|
animation.addEventListener("cancel", onAnimationEnd);
|
||||||
|
@ -141,6 +144,8 @@ const BottomSheet: ParentComponent<BottomSheetProps> = (props) => {
|
||||||
const rect = element.getBoundingClientRect();
|
const rect = element.getBoundingClientRect();
|
||||||
const easing = "cubic-bezier(0.4, 0, 0.2, 1)";
|
const easing = "cubic-bezier(0.4, 0, 0.2, 1)";
|
||||||
element.classList.add(styles.animated);
|
element.classList.add(styles.animated);
|
||||||
|
const oldOverflow = document.body.style.overflow;
|
||||||
|
document.body.style.overflow = "hidden";
|
||||||
const distance = Math.abs(rect.top - window.innerHeight);
|
const distance = Math.abs(rect.top - window.innerHeight);
|
||||||
const duration = (distance / MOVE_SPEED) * 1000;
|
const duration = (distance / MOVE_SPEED) * 1000;
|
||||||
|
|
||||||
|
@ -157,6 +162,7 @@ const BottomSheet: ParentComponent<BottomSheetProps> = (props) => {
|
||||||
);
|
);
|
||||||
const onAnimationEnd = () => {
|
const onAnimationEnd = () => {
|
||||||
element.classList.remove(styles.animated);
|
element.classList.remove(styles.animated);
|
||||||
|
document.body.style.overflow = oldOverflow;
|
||||||
animation = undefined;
|
animation = undefined;
|
||||||
};
|
};
|
||||||
animation.addEventListener("cancel", onAnimationEnd);
|
animation.addEventListener("cancel", onAnimationEnd);
|
||||||
|
|
Loading…
Reference in a new issue