css制页面渲染前的loading

7 篇文章 0 订阅
4 篇文章 0 订阅
<body>

    <div id="spinner"></div>
    
</body>
<script>
    //在页面未加载完毕之前显示的loading Html自定义内容
    var _LoadingHtml = `<div class="rect1"></div>
                        <div class="rect2"></div>
                        <div class="rect3"></div>
                        <div class="rect4"></div>
                        <div class="rect5"></div>`

    document.getElementById('spinner').innerHTML = _LoadingHtml;

    //监听加载状态改变
    document.onreadystatechange = completeLoading;

    //加载状态为complete时移除loading效果
    function completeLoading() {
        // console.log('----------completeLoading-----------' + document.readyState)
        if (document.readyState == "complete") {
            document.body.removeChild(document.getElementById('spinner'))
        }
    }
</script>

</html>

<style>
    #spinner {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 50px;
        height: 60px;
        margin: -25px 0 0 -30px;
        text-align: center;
        font-size: 10px;
        /* z-index: 1000; */
    }
    
    #spinner>div {
        background-color: #278bed;
        height: 100%;
        width: 6px;
        display: inline-block;
        -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
        animation: stretchdelay 1.2s infinite ease-in-out;
    }
    
    #spinner .rect2 {
        -webkit-animation-delay: -1.1s;
        animation-delay: -1.1s;
    }
    
    #spinner .rect3 {
        -webkit-animation-delay: -1.0s;
        animation-delay: -1.0s;
    }
    
    #spinner .rect4 {
        -webkit-animation-delay: -0.9s;
        animation-delay: -0.9s;
    }
    
    #spinner .rect5 {
        -webkit-animation-delay: -0.8s;
        animation-delay: -0.8s;
    }
    
    @-webkit-keyframes stretchdelay {
        0%,
        40%,
        100% {
            -webkit-transform: scaleY(0.4);
        }
        20% {
            -webkit-transform: scaleY(1.0);
        }
    }
    
    @keyframes stretchdelay {
        0%,
        40%,
        100% {
            transform: scaleY(0.4);
            -webkit-transform: scaleY(0.4);
        }
        20% {
            transform: scaleY(1.0);
            -webkit-transform: scaleY(1.0);
        }
    }
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值