Aniamtion加载动画

Posted lufei910

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Aniamtion加载动画相关的知识,希望对你有一定的参考价值。

css新增样式Animation的运用

希望可以通过这个案例加深对Animation以及Transform 两大api的认识

效果图如下:

技术图片

 

 

 

在这里需要注意的是:理应通过发送服务器请求来获取图片,从而达到这种动态加载的效果 通过node和ajax

          但本文采取了另一种本地动态加载的办法来展现:即 通过本地获取图片路径,利用图片的onload方法来判断加载成功与失败

 

模拟效果需要使用Chrome的开发者工具里的上网环境:

技术图片

 

 

 

 

 

 

html代码如下:

<div id="wrap">
        <div class="inner">
        <img src="load/logo2.png" >
        <p>已加载0%</p>
                
        </div>
            
            
</div>

 

  

css代码如下:

@keyframes move
                from
                    /* top: 0px; */
                    /* debugger; */
                    transform: rotateY(0deg);
                
                to
                    /* top: 40px; */
                    transform: rotateY(360deg);
                
            
            *
                padding: 0;
                margin: 0;
            
            /* 解决滚动条 */
            html,body
                height: 100%;
                overflow: hidden;
            
            /* 位置高宽  垂直水平居中方案 */
            #wrap
                height: 100%;
                position: relative;
                background: gray;
                
            
            #wrap>.inner
                position: absolute;
                left: 50%;
                top: 50%;
                transform: translate3d(-50%,-50%,0);
                text-align: center;
                white-space: nowrap;
                perspective: 200px;
                transform-style: preserve-3d;
                
            
            #wrap>.inner>img
                font-size: 50px;
                position: relative;
                animation: move 1s linear infinite normal;
                
            

 

 

javascript代码如下:

window.onload=function()
            var pNode=document.querySelector("#wrap > .inner > p");
            var flag=1;
            // var img=document.querySelector("#wrap > .inner > img");
            // 1.首先需要一个数组把js对象遍历出来  都添加到数组中  此时没有使用ajax 和node  模拟使用请求数据库数据
            var arr =[];
            for(arrNode in imgData)
                arr=arr.concat(imgData[arrNode]);
                            
            
            // 2.再把图片添加到浏览器中
            for(i=0;i<arr.length;i++)
                var img=new Image();
                img.src=arr[i];
                
                img.onload = function()
                    flag++;
                    // 3.此时要计算p标签的内容
                    pNode.innerHTML="已加载"+Math.round(flag/arr.length*100)+"%";
                
                img.onerror=function()
                    console.log("图片加载失败");
                
            
        

 

以上是关于Aniamtion加载动画的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D动画混合

肝了两宿才收集的17个超炫酷的 CSS 动画加载与进度条特效,绝对值得收藏!!!

在页面加载之前,动画 SVG 不会动画

这种加载动画代码怎么实现?不使用图片

多动画教程:使用 QuartzCode 加载完成和失败动画载完成和失败动画

为 CSS 动画预加载图像?