css新增样式Animation的运用

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

效果图如下:

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

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

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

html代码如下:

  1. <div id="wrap">
  2. <div class="inner">
  3. <img src="load/logo2.png" >
  4. <p>已加载0%</p>
  5.  
  6. </div>
  7.  
  8. </div>

  

css代码如下:

  1. @keyframes move{
  2. from{
  3. /* top: 0px; */
  4. /* debugger; */
  5. transform: rotateY(0deg);
  6. }
  7. to{
  8. /* top: 40px; */
  9. transform: rotateY(360deg);
  10. }
  11. }
  12. *{
  13. padding:;
  14. margin:;
  15. }
  16. /* 解决滚动条 */
  17. html,body{
  18. height: 100%;
  19. overflow: hidden;
  20. }
  21. /* 位置高宽 垂直水平居中方案 */
  22. #wrap{
  23. height: 100%;
  24. position: relative;
  25. background: gray;
  26.  
  27. }
  28. #wrap>.inner{
  29. position: absolute;
  30. left: 50%;
  31. top: 50%;
  32. transform: translate3d(-50%,-50%,0);
  33. text-align: center;
  34. white-space: nowrap;
  35. perspective: 200px;
  36. transform-style: preserve-3d;
  37.  
  38. }
  39. #wrap>.inner>img{
  40. font-size: 50px;
  41. position: relative;
  42. animation: move 1s linear infinite normal;
  43.  
  44. }

JavaScript代码如下:

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

Aniamtion加载动画的更多相关文章

  1. 原生JS实战:分享一个首页进度加载动画!

    本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5871134.html 该程序是本人的个人作品,写的不好,可以参考,但未经 ...

  2. 超酷jQuery进度条加载动画集合

    在丰富多彩的网页世界中,进度条加载动画的形式非常多样,有利用gif图片实现的loading动画,也有利用jQuery和CSS3实现的进度加载动画,本文主要向大家介绍很多jQuery和CSS3实现的进度 ...

  3. 利用CAReplicatorLayer实现的加载动画

    在上一篇中,笔者简要介绍了CAReplicatorLayer,在本篇中,将介绍具体的实用价值. 实用CAReplicatorLayer作为核心技术实现加载动画. 首先,创建一个UIView的子类 @i ...

  4. 为网格布局图片打造的超炫 CSS 加载动画

    今天,我想与大家分享一些专门为网格布局的图像制作的很酷的 CSS 加载动画效果.您可以把这些效果用在你的作品集,博客或任何你想要的网页中.设置很简单.我们使用了下面这些工具库来实现这个效果: Norm ...

  5. 基于jQuery点击加载动画按钮特效

    分享一款基于jQuery点击加载动画按钮特效.这是一款基于jQuery+CSS3实现的鼠标点击按钮加载动画特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  6. CSS 实现加载动画之八-圆点旋转

    这篇文件介绍的动画是QQ邮箱APP里的加载动画,效果类似,但是不完全一样.实现过程不复杂,这里不详细解释了,直接上源码.另外还有一种实现方式,利用元素的3D转换加平移. 1. 先看截图 2. 源代码 ...

  7. CSS 实现加载动画之七-彩环旋转

    今天整理的这个动画估计大家都不会陌生,彩环旋转,看过之后是不是觉得很熟悉,对,这个就是优酷视频APP里面的加载动画.本人空余时间喜欢看些视频,留意到这个动画后就想用代码实现出来,今天整理了下,跟大家分 ...

  8. CSS 实现加载动画之六-大风车

    这个动画改编自光盘旋转,前几个步骤一样,最后一步不同.光盘旋转的最后一步是外层容器加个圆形的白色边框,多余部分隐藏,这个案例则是在每个旋转的子元素的顶部或底部增加一个三角形的元素,构成风车旋转的角. ...

  9. CSS 实现加载动画之五-光盘旋转

    今天做的这个动画叫光盘旋转,名字自己取的.动画的效果估计很多人都很熟悉,就是微信朋友圈里的加载动画.做过前面几个动画,发现其实都一个原理,就是如何将动画的元素如何分离出来.这个动画的实现也很简单,关键 ...

随机推荐

  1. JMS学习三(ActiveMQ消息的可靠性)

    下面我们来学习一下消息接受确认和发送持久化消息.消息的过期.消息的选择器和消息的优先级. 一.消息接收确认 1.jms消息只有在被确认之后才认为成功消费了这条消息.消息的成功消费通常包括三个步骤:(1 ...

  2. BZOJ 2716 [Violet 3]天使玩偶 (CDQ分治、树状数组)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2716 怎么KD树跑得都那么快啊..我写的CDQ分治被暴虐 做四遍CDQ分治,每次求一个 ...

  3. Oracle数据库表空间创建、添加用户并授权

    --创建test表空间CREATE TABLESPACE test_data LOGGING DATAFILE '/u01/app/oracle/oradata/test/test_data.dbf' ...

  4. maven使用常见问题

    1.我写的是src/main/java/config/mybatis-cofig.xml 但总是报错 Could not find resource src/main/java/config/myba ...

  5. 你是一直认为 count(1) 比 count(*) 效率高么?

    MySQL count(1) 真的比 count(*) 快么? 反正同事们都是这么说的,我也姑且觉得对吧,那么没有自己研究一下究竟?如果我告诉你他们一样,你信么? 有 Where 条件的 count, ...

  6. php 防盗链

    防盗链的技术已经很普遍了,有些网站不喜欢自己的图片被别的网站直接复制使用,便使用了防盗链的技术,这样别人在直接复制使用网站图片时,图片便会按照程序的设定不显示或显示防盗链等字样. 使用了防盗链技术,不 ...

  7. java 解析上传的Excel文件

    java poi解析上传的Excel文件 package com.zhl.push.Utils; /** * @Author TAO * @ClassName ExcelData * @Descrip ...

  8. Vue知识整理16:单文件组件

    过程较为复杂,这里直接写出视频地址,可以直接查看 https://learning.dcloud.io/#/?vid=14

  9. Binary-to-text ecoding:

    binary to Text ecoding是指将二进制数据转换成可打印的符号 如果传输channel 不允许二进制数据(如email) 一般使用Base64 ASCII 标准使用128位来表示字母数 ...

  10. nohup后台运行

    1.信息输出 nohup java -jar xxxx.jar & 2.信息不输出 nohup java -jar xxxx.jar >/dev/null 2>&1 &am ...