用Loading 加载中的整页加载来做蒙层

简介: 用Loading 加载中的整页加载来做蒙层

总结:遇见的bug


如何写一个蒙层


最初我打算的是自己写一个蒙层,但是写出来后,


不能够将整个屏幕全部覆盖。只能够覆盖 除【顶部导航】 和【左侧菜单栏】


于是我就使用了element-ui中的 【Loading 加载中】的【整页加载】来处理


推荐使用它来做蒙层 因为简单快


2==> 显示 显示区域无法水平垂直居中。


因为父级元素没有给height:100%;(重要)


父级元素不给高度100%;无法居中哈!


3==>最大问题 感觉关闭按钮 在蒙层之下,图片在蒙层之上。


整了很久,最后发现是按钮的颜色和蒙层相似。


我是如何发现的,给关闭按钮一个事件,如果事件能够被触发,


说明这个关闭按钮没有被蒙层覆盖


4==》loading.close(); //关闭蒙层


spinner: "none", //不要蒙层加载图标


<template>
  <div class="fatherbox">
    <!-- 触发蒙层按钮 -->
    <el-button type="primary" @click="openFullScreen2">服务方式</el-button>
    <!-- 显示区域 -->
    <div class="mask-box-content" v-show="flag">
      <div>
        <img src="../../../assets/image/bg.png" class="avtargeImg" />
      </div>
      <div @click="cancelMask">
        <i class="el-icon-circle-close my-icon-close"></i>
      </div>
    </div>
  </div>
</template>
<script>
// 
export default {
  data() {
    return {
      loading: "", //声明一个变量
      flag: false //蒙层默认关闭
    };
  },
  methods: {
    openFullScreen2() {
      this.loading = this.$loading({
        lock: true,
        spinner: "none", //不要蒙层加载图标
        background: "rgba(0, 0, 0, 0.5)"
      });
      this.flag = true; //打开蒙层
    },
    cancelMask() {
      this.loading.close(); //关闭蒙层
      this.flag = false; //关闭对话框;
    }
  }
};
</script>
.fatherbox {
  // 因为父级元素没有铺满整个屏幕
  // 所以无法居中
  height: 100%;
}
.mask-box-content {
  z-index: 1000000 !important;
  width: 400px;
  height: 460px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -230px;
  margin: auto;
  transform: translate(-50%, -50%);
  text-align: center;
}
.my-icon-close {
  width: 44px;
  height: 44px;
  font-size: 44px;
  color: #fff;
  margin-top: 22px;
  text-align: center;
}
.avtargeImg {
  width: 400px;
  height: 400px;
  border-radius: 6px;
}
相关文章
|
1月前
|
移动开发 JavaScript 小程序
uView LoadingPage 加载页
uView LoadingPage 加载页
52 1
|
1月前
|
存储 JSON 数据格式
Spartacus i18n Resource 的默认加载和 Lazy Load 两种方式的比较
Spartacus i18n Resource 的默认加载和 Lazy Load 两种方式的比较
|
7月前
|
存储 算法
可行装载(Feasible Loading)
可行装载(Feasible Loading)是一种物流优化问题,旨在确定在满足约束条件的情况下,如何最大化物流系统的装载量或最小化装卸时间。这个问题在物流配送、仓储管理和生产线等领域都有广泛的应用。
38 0
|
Web App开发 移动开发 前端开发
多种方法实现Loading(加载)动画效果
当我们ajax提交一个按钮的时候,给那个按钮来个Loading效果会高端很多,体验也会上升个层次。 既能让用户知道正在提交中,也能防止二次提交,好处多多呢。
多种方法实现Loading(加载)动画效果
ElementUI:组件库之Loading 加载
ElementUI:组件库之Loading 加载
364 0
|
JavaScript 前端开发
react 实现图片正在加载中 加载完成 加载失败三个阶段的
最近博客写道项目列表中,发现这里比较多图片,一开加载会比较慢,然后就想要用一个loading的图片来占位。与此同时,如果图片加载失败那么显示错误的图片,不显示一个原有的错误,那样比较难看。
react 实现图片正在加载中 加载完成 加载失败三个阶段的
|
JavaScript 前端开发
Vue中 iframe 的内容加载慢,实现加载(Loading)效果
Vue中 iframe 的内容加载慢,实现加载(Loading)效果
1468 0
Vue中 iframe 的内容加载慢,实现加载(Loading)效果
|
资源调度 JavaScript
5、图片的加载(url-loader)
5、图片的加载(url-loader)
82 0
|
前端开发
一个"剑气"加载🌪️
一个"剑气"加载🌪️
|
移动开发 JavaScript 开发工具
解决Webview加载不完全导致部分js无效
问题出现 有两种情况: 一种情况是打开activity时webview开始加载页面,但是发现加载了一部分后就停止了,余下的一直不再加载。但是当关闭这个activity时发现webview又继续加载了。 第二种情况是webview正常加载,但是进行操作时发现有些操作没有反应。比如接入支付宝国际sdk,未装支付宝app而使用h5页面时出现点击无反应的情况。
558 0