Merge branch 'master' into dev-tamako

This commit is contained in:
海洋201-胡昌宏 2022-01-20 20:33:02 +08:00
commit fab73f00ab
3 changed files with 62 additions and 3 deletions

View File

@ -1,3 +1,4 @@
@import "../../app.scss";
view.mask { view.mask {
position: fixed; position: fixed;
@ -5,4 +6,40 @@ view.mask {
height: 100%; height: 100%;
background-color: rgba($color: #000000, $alpha: .2); background-color: rgba($color: #000000, $alpha: .2);
z-index: 1; z-index: 1;
}
view.mask.block {
display: block;
}
view.mask.none {
display: none;
}
view.mask.show {
animation: show .1s cubic-bezier(0, 0, 1, 1) both;
opacity: 1;
}
view.mask.hide {
animation: hide .1s cubic-bezier(0, 0, 1, 1) both;
opacity: 0;
}
@keyframes show{
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes hide{
from {
opacity: 1;
}
to {
opacity: 0;
}
} }

View File

@ -2,6 +2,11 @@ import { Modular, Manager } from "../../core/Module";
class Mask<M extends Manager> extends Modular<M> { class Mask<M extends Manager> extends Modular<M> {
/**
*
*/
public static readonly animateTime: number = 100;
public data? = { public data? = {
/** /**
@ -9,6 +14,11 @@ class Mask<M extends Manager> extends Modular<M> {
*/ */
zIndex: 1, zIndex: 1,
/**
*
*/
isDisplay: false,
/** /**
* *
*/ */
@ -21,14 +31,25 @@ class Mask<M extends Manager> extends Modular<M> {
* *
*/ */
public showMask() { public showMask() {
this.setData({ isShow: true }); this.setData({
isShow: true,
isDisplay: true
});
} }
/** /**
* *
*/ */
public hideMask() { public hideMask() {
this.setData({ isShow: false }); this.setData({
isShow: false
});
this.disappearTimer = setTimeout(() => {
this.setData({
isDisplay: false
});
}, Mask.animateTime);
} }
public override onLoad() { public override onLoad() {

View File

@ -1,5 +1,6 @@
<!-- 蒙版 --> <!-- 蒙版 -->
<view class="mask" bindtap="mask$handleClickMask" style="display:{{mask$isShow ? 'block' : 'none'}}"></view> <view class="mask {{ mask$isShow ? 'show' : 'hide' }} {{ mask$isDisplay ? 'block' : 'none' }}"
bindtap="mask$handleClickMask"></view>
<!-- 顶部的阴影 --> <!-- 顶部的阴影 -->
<view class="top-shadow"></view> <view class="top-shadow"></view>