zoukankan      html  css  js  c++  java
  • Vue 封装的loading组件

    <template>
        <div class="loadEffect">
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
        </div>
    </template>
    <script type="text/ecmascript-6">
        export default {
            name: 'loading'
        }
    </script>
    <style lang="less" scoped>
        .loadEffect {
            width: 50px;
            height: 50px;
            position: relative;
            margin: 0 auto;
            
            span {
                display: inline-block;
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background: grey;
                position: absolute;
                -webkit-animation: load 1.04s ease infinite;
            }
            
            @-webkit-keyframes load {
                0% {
                    -webkit-transform: scale(1.2);
                    opacity: 1;
                }
                100% {
                    -webkit-transform: scale(.3);
                    opacity: 0.5;
                }
            }
            
            .loadEffect span {
                &: nth-child(1) {
                    left: 0;
                    top: 50%;
                    margin-top: -5px;
                    -webkit-animation-delay: 0.13s;
                }
                &: nth-child(2) {
                    left: 7px;
                    top: 7px;
                    -webkit-animation-delay: 0.26s;
                }
                &: nth-child(3) {
                    left: 50%;
                    top: 0;
                    margin-left: -5px;
                    -webkit-animation-delay: 0.39s;
                }
                &: nth-child(4) {
                    right: 7px;
                    top: 7px;
                    -webkit-animation-delay: 0.52s;
                }
                &: nth-child(5) {
                    right: 0;
                    top: 50%;
                    margin-top: -5px;
                    -webkit-animation-delay: 0.65s;
                }
                &: nth-child(6) {
                    right: 7px;
                    bottom: 7px;
                    -webkit-animation-delay: 0.78s;
                }
                &: nth-child(7) {
                    left: 50%;
                    bottom: 0;
                    margin-left: -5px;
                    -webkit-animation-delay: 0.91s;
                }
                &: nth-child(8) {
                    left: 7px;
                    bottom: 7px;
                    -webkit-animation-delay: 1.04s;
                }
            }
        }
    </style>

    以上是loading组件的完整代码,引用方法如下:

    <Loading v-if="loading"></Loading>
    <script>
        export default {
            data() {
                return {
                    loading: false
                }
            },
            methods: {
                //加载方法
                dataLoading(){
                    this.loading = true;
                    //加载完成后
                    this.loading = false;
                }
            }
        }
    </script>
  • 相关阅读:
    第十一节 CSS引入的三种方式
    第十节 表单
    第九节 页面布局(简历)
    第八节 HTML表格
    第七节 列表标签
    第六节 链接标签
    第五节 插入图的img标签
    WordPress 全方位优化指南(下)
    Cloud Insight!StatsD 系监控产品新宠!
    WordPress 全方位优化指南(上)
  • 原文地址:https://www.cnblogs.com/minozMin/p/9791905.html
Copyright © 2011-2022 走看看