Aniamtion加载动画
2024-09-07 20:10:40
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:;
margin:;
}
/* 解决滚动条 */
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("图片加载失败");
}
}
}
最新文章
- 关于Http状态码
- Fitbit Flex
- HDU Game Theory
- CSS3初学篇章_1
- 正则表达式之IP地址检验
- Myeclipse 主题下载
- the grave of my scripts
- Spring源码学习之:spring注解@Transactional
- web.xml 配置介绍
- 02day1
- JavaScript,Java,php的区分大小写问题
- 基于heartbeat的单播方式实现tomcat高可用
- 十进制和n进制的转换(10进制转换为36进制)
- 【翻译自mos文章】SYS_OP_C2C 导致的全表扫描(fts)/全索引扫描
- Python发送邮件脚本
- 648. Replace Words 替换成为原来的单词
- RabbitMQ 入门指南——安装
- 【Revit API】获取链接模型中构件
- 腾讯云服务器 Centos6.5 安装 nginx1.12.0
- opp小节
热门文章
- sh_06_函数的返回值
- Linux基本命令使用(一)
- mssql的sql注入拿后台
- [BZOJ2111]:[ZJOI2010]Perm 排列计数(组合数学)
- SpringMVC拦截器+Spring自定义注解实现权限验证
- PTA编程总结一
- centos7 编译问题:aclocal-1.14: command not found
- lr_save_string和sprintf、lr_eval_string的使用
- SPEL 表达式解析
- gitlab+jenkins 搭建