1、CSS3动画以及animation事件的定义

animation :name duration timing-function delay iteration-count direction

animation-name:动画名称    animation-name:keyframename|none(keyframename:自定义名字 none:动画无效果)

animation-duration:动画执行时间   animation-duration:time(time:秒/毫秒)

animation-timing-function:动画速度曲线

animation-timing-function:value;

linnear:规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))

ease:规定以慢速开始的过渡效果(等于 cubic-bezier(0.25,0.1,0.25,1))

ease-in:规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))

ease-out:规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))

ease-in-out:规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))

cubic-bezier(n,n,n,n):在cubic-bezier函数中定义自己的值,可能的数值在0~1之间

steps(n):阶跃函数

animation-delay:动画效果延迟时间  animation-delay:time(time:秒/毫秒)

animation-iteration-count:动画执行次数  animation-iteration-count:n|infinite(n:具体次数 、infinite:无限重复)

animation-direction:动画执行方向   animation-direction:normal|alternate(normal:动画顺序播放、alternate:动画轮流反向播放)

animation-play-state:动画执行状态     animation-play-state:pause | running(paused:暂停动画、running:运行动画)

animation-fill-mode:动画执行过程效果是否可见 

animation-fill-mode:none | forwards | backwards | both (none:不改变[默认值]、forwards:当动画完成后,保持最后一个属性值[在最后一个关键帧中定义]) 、backwords:在animation所指定的一段时间内,在动画显示前,应运开始属性值(在第一个关键帧中定义)、both:向前后相后填充模式都被应用

@keyframes:规定动画

@keyframes animationname {keyframes-selector{css-styles;}}

keyframes-selector :动画时长百分比

0~100%

from(与0%相同)

to(与100%相同)

可以只有一个to

css-styles:一个或者多个合法的css样式属性

动画事件:

动画开始:obj.addEventListener("webkitAnimationStart",fn);//Chrome浏览器兼容模式

     obj.addEventListener("animationstart",fn);//其他兼容浏览器

动画执行过程中触发:

     obj.addEventListener("webkitAnimationIteration",fn);

     obj.addEventListener("animationIteration",fn);

动画结束后触发:

     obj.addEventListener("webkitAnimationEnd",fn);

     obj.addEventListener("animationEnd",fn);

2、CSS3动画以及animation事件应用示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>animation事件</title>
<style>
*{
margin:0;
padding: 0;
}
div{
width: 100px;
height: 300px;
background: #666;
animation: anim 2s 1s linear 3 alternate forwards ;/*第一个time是动画改变的1时间,第二个是开始之前的延时*/
}
@keyframes anim {
0%{width: 50px;}
100%{width: 300px;}
}
</style>
</head>
<body>
<div id="div"></div>
<script>
var oDiv = document.getElementById("div");
oDiv.addEventListener("webkitAnimationStart",start);
oDiv.addEventListener("animationStart",start);
oDiv.addEventListener("webkitAnimationIteration",iteration);
oDiv.addEventListener("animationIteration",iteration);
oDiv.addEventListener("webkitAnimationEnd",end);
oDiv.addEventListener("animationEnd",end);
function start() {
oDiv.style.background = "red";
}
function iteration() {
oDiv.style.background = "green";
}
function end() {
oDiv.style.background = "blue";
}
</script>
</body>
</html>

3、示例效果图

示例源码:animation事件.zip

转载请注明出处,谢谢您的合作!

CSS3动画以及animation事件的更多相关文章

  1. CSS3动画属性animation的用法

    转载: 赞生博客 高端订制web开发工作组 » CSS3动画属性animation的用法 CSS3提供了一个令人心动的动画属性:animation,尽管利用animation做出来的动画没有flash ...

  2. 学习CSS3动画(animation)

    CSS3就是出了不少高大上的功能,3D效果.动画.多列等等.今天写篇文章记录怎么一下怎么用CSS3写一个动画. 丑话还得说前头,IE9以及以下版本不支持CSS3动画(如真要实现可以考虑用js,不过估计 ...

  3. CSS3 动画实现 animation 和 transition 比较

    在 CSS3 中有两种方式实现动画, 分别是 animation 和 transition, 他们都有以下功能 根据特定 CSS 属性进行动画 设定属性变化的 timing function 设定动画 ...

  4. css3动画transition animation

    CSS动画简介  transition   animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...

  5. 【WEB前端系列之CSS】CSS3动画之Animation

    前言 动画使用示例https://github.com/AndyFlower/web-front/tree/master/css3/loading 学习CSS3中Animation之前先来看一个动画特 ...

  6. css3动画(animation)效果3-正方体合成

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. CSS3动画属性animation的基本用法

    CSS3新增了一个令人心动的属性:animation,尽管利用animation做出来的动画没有flash或者javascript做出的动画流畅绚丽,但是从代码量和浏览器性能上有着明显的优点. ani ...

  8. css3动画(animation)效果1-漂浮的白云

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. css3动画:animation

    例: -webkit-animation: myfirst 5s linear 2s infinite alternate; animation: myfirst 5s linear 2s infin ...

随机推荐

  1. Windows Azure Virtual Network (11) 虚拟网络之间点对点连接VNet Peering

    <Windows Azure Platform 系列文章目录> 在有些时候,我们需要通过VNet Peering,把两个虚拟网络通过内网互通互联.比如: 1.在订阅A里的Virtual N ...

  2. Xcode的SVN提示"The request timed out."的解决方案

    问题描述 在利用Xcode的SourceControl进行SVN代码检出时,确认输入地址.帐号密码都正确的情况下,总是提示"The request timed out.".该问题的 ...

  3. mysql有多条记录的单个字段想存为一个字段显示的方法

    SELECT po.id,(SELECT GROUP_CONCAT(mr.member_type) as memberTypeList FROM prod_offer_member_rel mr WH ...

  4. Java经典编程题50道之十三

    一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? public class Example13 {    public static void main(St ...

  5. Activiti中的log4j(slf4j)的配置

    今天试了一下在Activiti中使用log4j来进行配置发现这个会出现问题,其实Activiti中的日志系统是采用的是slf4j而不是log4j 然后使用slf4j驱动log4j来做的 通过Proce ...

  6. Mysql给某一台主机授权访问,修改root密码

    ubuntu上用的是phpstudy,安装好之后,敲mysql,提示没有,需要安装mysql的客户端. 安装好之后直接敲mysql,敲 mysql 再敲use mysql 再敲mysql -uroot ...

  7. B2B2C商品模块数据库设计

    kentzhu: 在电子商务里,一般会提到这样几个词:商品.单品.SPU.SKU 简单理解一下,SPU是标准化产品单元,区分品种:SKU是库存量单位,区分单品:商品特指与商家有关的商品,可对应多个SK ...

  8. js鼠标滚轮事件兼容

    JavaScript鼠标滚轮事件 IE6.0首先实现了鼠标的滚轮事件,其良好的交互效果得到认可,随后Opera.chrome.safari等主流浏览器都实现了该效果,不过存在着很大的兼容问题. 大多数 ...

  9. 四级地址插件升级改造(京东商城地址选择插件)city-picker

    最近公司做的项目要和京东的数据做对接,所以要做个类似京东商品的详情页.页面的数据,是可以从京东接口获取到的,但是地址插件选择的效果需要自己实现.前端的同事在之前的项目中,已经选择了一款地址插件(cit ...

  10. init启动进程

    init启动进程需要读取()配置文件 1,启动init进程的配置文件是/etc/inittab 2,/etc/sysvinit是系统初始化用的   /sbin/init在核心完整的加载后,开始运行系统 ...