首页 > 其他分享 >matery添加加载动画

matery添加加载动画

时间:2022-08-21 20:24:09浏览次数:71  
标签:动画 1s rotate pacman transform loading webkit matery 加载

1、在主题 /layout/_partial/目录新建一个loading-pages.ejs 内容如下:

<style type="text/css" lang="css">
    #loading-container{
        position: fixed;
        top: 0;
        left: 0;
        min-height: 100vh;
        width: 100vw;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: #FFF;
        text-align: center;
        /* loader页面消失采用渐隐的方式*/
        -webkit-transition: opacity 1s ease;
        -moz-transition: opacity 1s ease;
        -o-transition: opacity 1s ease;
        transition: opacity 1s ease;
    }
    .loading-image{
        width: 120px;
        height: 50px;
        transform: translate(-50%);
    }

    .loading-image div:nth-child(2) {
        -webkit-animation: pacman-balls 1s linear 0s infinite;
        animation: pacman-balls 1s linear 0s infinite
    }

    .loading-image div:nth-child(3) {
        -webkit-animation: pacman-balls 1s linear .33s infinite;
        animation: pacman-balls 1s linear .33s infinite
    }

    .loading-image div:nth-child(4) {
        -webkit-animation: pacman-balls 1s linear .66s infinite;
        animation: pacman-balls 1s linear .66s infinite
    }

    .loading-image div:nth-child(5) {
        -webkit-animation: pacman-balls 1s linear .99s infinite;
        animation: pacman-balls 1s linear .99s infinite
    }

   .loading-image div:first-of-type {
        width: 0;
        height: 0;
        border: 25px solid #49b1f5;
        border-right-color: transparent;
        border-radius: 25px;
        -webkit-animation: rotate_pacman_half_up .5s 0s infinite;
        animation: rotate_pacman_half_up .5s 0s infinite;
    }
    .loading-image div:nth-child(2) {
        width: 0;
        height: 0;
        border: 25px solid #49b1f5;
        border-right-color: transparent;
        border-radius: 25px;
        -webkit-animation: rotate_pacman_half_down .5s 0s infinite;
        animation: rotate_pacman_half_down .5s 0s infinite;
        margin-top: -50px;
    }
    @-webkit-keyframes rotate_pacman_half_up {0% {transform: rotate(270deg)}50% {transform: rotate(1turn)}to {transform: rotate(270deg)}}

    @keyframes rotate_pacman_half_up {0% {transform: rotate(270deg)}50% {transform: rotate(1turn)}to {transform: rotate(270deg)}}

    @-webkit-keyframes rotate_pacman_half_down {0% {transform: rotate(90deg)}50% {transform: rotate(0deg)}to {transform: rotate(90deg)}}

    @keyframes rotate_pacman_half_down {0% {transform: rotate(90deg)}50% {transform: rotate(0deg)}to {transform: rotate(90deg)}}

    @-webkit-keyframes pacman-balls {75% {opacity: .7}to {transform: translate(-100px, -6.25px)}}

    @keyframes pacman-balls {75% {opacity: .7}to {transform: translate(-100px, -6.25px)}}


    .loading-image div:nth-child(3),
    .loading-image div:nth-child(4),
    .loading-image div:nth-child(5),
    .loading-image div:nth-child(6){
        background-color: #49b1f5;
        width: 15px;
        height: 15px;
        border-radius: 100%;
        margin: 2px;
        width: 10px;
        height: 10px;
        position: absolute;
        transform: translateY(-6.25px);
        top: 25px;
        left: 100px;
    }
    .loading-text{
        margin-bottom: 20vh;
        text-align: center;
        color: #2c3e50;
        font-size: 2rem;
        box-sizing: border-box;
        padding: 0 10px;
        text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    }
    @media only screen and (max-width: 500px) {
         .loading-text{
            font-size: 1.5rem;
         }
    }
    .fadeout {
        opacity: 0;
        filter: alpha(opacity=0);
    }
    /* logo出现动画 */
    @-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
    @keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);}}
 </style>
 <script>
(function () {
    const loaded = function(){
       setTimeout(function(){
            const loader = document.getElementById("loading-container");
            loader.className="fadeout" ;//使用渐隐的方法淡出loading page
            // document.getElementById("body-wrap").style.display="flex";
            setTimeout(function(){
                loader.style.display="none";
            },2500); 
        },1000);//强制显示loading page 1s  
    };
    loaded();
})()
</script>

2、在主题的 layout 目录找到 layout.ejs 文件

<body>附近添加内容后如下:

<!DOCTYPE HTML>
<html lang="<%= config.language %>">
<%- partial('_partial/head') %>

 <% if (theme.loadingPages.enable) { %>
    <%- partial('_partial/loading-pages') %>
 <% } %>
<body>
    <% if (theme.loadingPages.enable) { %>
        <div id="loading-container">
             <p class="loading-text">嘘~  正在从服务器偷取页面 . . . </p> 
             <div class="loading-image">
                 <div></div>
                 <div></div>
                 <div></div>
                 <div></div> 
                 <div></div>
             </div>
        </div>
    <% } %>

    <%- partial('_partial/header') %>
    ...

3、在主题配置文件_config.yml添加开关配置

loadingPages:
  enable: true  

enable 设置为 true 表示开启加载动画, false 表示关闭加载动画。

标签:动画,1s,rotate,pacman,transform,loading,webkit,matery,加载
From: https://www.cnblogs.com/wdysblog/p/16610742.html

相关文章

  • 关于Vue路由懒加载问题
    今天刚开始新建一个vue项目,就在路由这卡死了,经过多次查找对比,发现了问题竟然是出现在一个括号上,如下所示constroutes=[//正确写法{path:'/',na......
  • DAZ Studio for Mac(专业三维人物动画制作工具)
    Mac哪款三维人物动画制作工具好用呢?DAZStudioProforMac是一款应用在Mac平台上的3d人物动画制作软件,,它拥有轻松简约的ui界面以及强大的虚拟化3d建模功能,通过软件自带的......
  • Tomcat源码分析--类加载器
    Tomcat类加载器结构上图是Tomcat文档中所展示的Tomcat类加载结构。在这个结构中Bootstartap和System的类加载器由java虚拟机实现。common类加载器由Tomcat容器实现,它对......
  • ajax无刷新加载更多
    https://bbs.csdn.net/topics/390980134如题,我对网站的一个列表页进行无刷新加载更多。采用ajax请求页面然后加载到当前页下面!可是无论我怎么改都是只能加载第一页,......
  • thinkphp+ajax+jquery异步实现加载更多
    1.后台请求的方法(这里主要赋模板,再查出总页数)publicfunction_initialize(){parent::_initialize();$this->model['farm']=D('farm');$this->model[......
  • vue项目打包成dist文件以后,index.html加载空白?
    打包成dist文件以后,index.html加载空白没有修改config配置文件,直接打包,系统默认的是’/’(根目录),而不是’./’(当前目录),从而导致路径不对,页面加载不出来。针对vue-cli3.......
  • JQuery动画
    JQuery高级动画三种方式现实和隐藏元素默认现实和隐藏方式show([speed,[easing],[fn]])参数:speed:动画的速度,三个预定义的值("slow","normal","fast")或表示动......
  • JQuery动画
    动画 1.三种方式显示和隐藏元素 1.默认显示和隐藏方式 1.show([speed],[easing],[fn]]) 1.参数: 1.speed:动画的......
  • JQuery动画
    JQuery动画1.三种方式显示和隐藏元素 1.默认显示和隐藏方式 1.show([speed,[easing],[fn]]) 1.参数: 1.speed:动......
  • AI智能安防视频监控平台EasyCVR视频广场初次加载调用通道接口的优化
    EasyCVR平台拓展性强、兼容性高,拥有灵活丰富的视频能力,包括视频实时监控直播、云端录像、云存储、回放与检索、智能告警、视频快照、视频转码与分发、平台级联等。平台可支......