Vue加载中(Windows开机动画)

简介: 这篇文章介绍了如何创建一个模仿Windows开机动画的自定义Vue Loading组件,支持自定义描述文案、是否循环动画和动画间隔时长。

(模仿Windows开机动画)效果如下图:

支持自定义设置:

  • 描述文案(tip),也可不传,默认不展示
  • 是否无限次循环动画(infinite),默认false
  • 完成一次动画后的间隔时长(interval),单位ms,默认200ms

①创建Loading.vue组件:

<template>
  <div class="m-spin">
    <div :class="['m-spin-dot', tip ? 'mt60':'mt30']">
      <span :class="['u-dot-item', { infinite: infinite, disposable: !infinite&&running }]"></span>
      <span :class="['u-dot-item', { infinite: infinite, disposable: !infinite&&running }]"></span>
      <span :class="['u-dot-item', { infinite: infinite, disposable: !infinite&&running }]"></span>
      <span :class="['u-dot-item', { infinite: infinite, disposable: !infinite&&running }]"></span>
      <!-- 监听最后一个dot动画完成 -->
      <span :class="['u-dot-item', { infinite: infinite, disposable: !infinite&&running }]" @animationend="callback"></span>
    </div>
    <p class="u-tip">{
  { tip }}</p>
  </div>
</template>
<script>
export default {
  name: 'Loading',
  props: {
    tip: { // 描述文案
      type: String,
      default: ''
    },
    infinite: { // 是否无限次循环动画
      type: Boolean,
      default: false
    },
    interval: { // 完成一次动画后的间隔时长,单位ms
      type: Number,
      default: 200
    }
  },
  data () {
    return {
      running: true // 动画运行标识,infinite为false时生效
    }
  },
  methods: {
    callback () {
      this.running = false
      setTimeout(() => {
        this.running = true
      }, this.interval)
    }
  }
}
</script>
<style lang="less" scoped>
.m-spin {
  position: relative;
  width: 100%;
  height: 100%;
}
.u-tip {
  position: absolute;
  top: 50%;
  font-size: 16px;
  line-height: 20px;
  color: #FFF;
  width: 100%;
  text-align: center;
  padding-top: 16px;
}
.m-spin-dot {
  position: absolute;
  display: inline-block;
  width: 60px;
  height: 60px;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  .u-dot-item { // 单个圆点样式
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #FFF;
    border-radius: 50%;
    transform-origin: 50% 30px; // 50%为自身高度的一半
  }
  .u-dot-item:nth-child(2) {
    animation-delay: .2s;
    -webkit-animation-delay: .2s;
  }
  .u-dot-item:nth-child(3) {
    animation-delay: .4s;
    -webkit-animation-delay: .4s;
  }
  .u-dot-item:nth-child(4) {
    animation-delay: .6s;
    -webkit-animation-delay: .6s;
  }
  .u-dot-item:last-child {
    animation-delay: .8s;
    -webkit-animation-delay: .8s;
  }
  .infinite { // 无限次
    animation: spinMove 2s ease-in-out infinite;
    -webkit-animation: spinMove 2s ease-in-out infinite;
  }
  .disposable { // 一次性
    animation: spinMove 2s ease-in-out;
    -webkit-animation: spinMove 2s ease-in-out;
  }
  @keyframes spinMove {
    to { transform: rotate(360deg); } // from: 0%  to: 100%
  }
}
.mt60 {
  margin-top: -60px;
}
.mt30 {
  margin-top: -30px;
}
</style>

②在要使用的页面引用:

<div class="m-area" >
    <Loading :tip="tip" :infinite="true" :interval="200" v-show="loading" />
</div>
import Loading from '@/components/Loading'
components: {
    Loading
},
data () {
    return {
        tip: '加载中...',
        loading: false
    }
}
.m-area {
    margin: 0 auto;
    width: 500px;
    height: 400px;
    border: 1px solid #1890ff;
    background: #000;
}
相关文章
|
Cloud Native Go Windows
Windows 11 电脑如何设置自动开机 (Windows 11 2022H2)
Windows 11 电脑如何设置自动开机 (Windows 11 2022H2)
3191 0
|
Shell Windows
Windows服务器 开机自启动服务
Windows服务器 开机自启动服务
134 0
|
16天前
|
网络协议 Windows
通过 ZeroNews 实现 windows 远程开机
利用ZeroNews,可实现对内网其他支持 wake on lan(网络唤醒)的windows 电脑进行远程开机操作。
|
网络架构 Windows
windows电脑开机自动启动FRP客户端CMD代码,增加延时15秒功能
经常使用FRP客户端的都知道,FRP客户端启动时需要电脑有网络,否则会自动退出。我们的电脑在启动时,受路由器网络的影响,很多时间并不能第一时间建立起网络来,所以很容易受到网络影响,让FRP客户端自动启动发生故障。而这里的解决办法就是增加一段代码,可以延时15秒再执行。
|
Windows
windows系统bat批处理 开机一键多个程序
windows系统bat批处理 开机一键多个程序
169 1
|
NoSQL Redis Windows
Windows设置Redis服务使其开机自启
Windows设置Redis服务使其开机自启
904 0
|
应用服务中间件 nginx Windows
windows下快速安装nginx 并配置开机自启动
windows下快速安装nginx 并配置开机自启动
1860 0
windows下快速安装nginx 并配置开机自启动
|
存储 NoSQL Redis
Windows10 如何开机自动启动redis
Windows10 如何开机自动启动redis
|
应用服务中间件 nginx Windows
Windows 设置开机自启 将可执行文件加入到系统服务中
Windows 设置开机自启 将可执行文件加入到系统服务中
174 0
|
Shell Windows
Windows【工具 03】QuickLook-3.6.11安装并设置开机自启动(含较难下载的 QuickLook-3.6.11 安装包百度云盘资源)
Windows【工具 03】QuickLook-3.6.11安装并设置开机自启动(含较难下载的 QuickLook-3.6.11 安装包百度云盘资源)
428 0