当css属性改变的时候,控制animation的速度,让属性的变化发生在一段时间之内,而不是立即生效。

语法

transition: <property> <duration> <timing-function> <delay>;

property:css属性的name, 支持的属性列表

duration:持续时间

timing-function:运动曲线

一个折叠菜单例子:

 <style type="text/css">
ul, li{
list-style:none;
float: left;
}
ul.menu {
overflow: hidden;
width: 50px;
height: 50px;
}
ul.fold {
width: 0px;
height: 0px;
transition: width 1s, height 1s;
-webkit-transition: width 1s, height 1s;
-moz-transition: width 1s, height 1s;
-o-transition: width 1s, height 1s;
}
ul.unfold {
width: 50px;
height: 50px;
background-color: #fff;
transition: width 1s, height 1s;
-webkit-transition: width 1s, height 1s;
-moz-transition: width 1s, height 1s;
-o-transition: width 1s, height 1s;
}
</style

css

html:

 <ul class="menu unfold" id="menu1">
<li>11111111</li>
<li>22222222</li>
</ul>

js:

 var v1 = document.getElementById("menu1");
function flod(){
className = v1.className;
v1.className = "menu" + (/\s+fold/.test(className) ? " unfold" : " fold");
}
v1.addEventListener("click", flod, false);

检测transition完成

transition完成后transitionend事件将被触发,如果transition还没有完成就被abort,将不会触发transitioned事件

 v1.addEventListener('transitionend', function(e){
alert(e.propertyName + "|" + e.elapsedTime);
});

js

在webkit中事件名称是webkitTransitionEnd,可以查看兼容列表

transition让js function过度更平滑

p {
padding-left: 60px;
} #foo {
border-radius: 50px;
width: 50px;
height: 50px;
background: #c00;
position: absolute;
top:;
left:;
-webkit-transition: all 1s;
transition: all 1s;
}

Css

html:

<p>Click anywhere to move the ball</p>
<div id="foo"></div>

js:

var f = document.getElementById('foo');
var info = document.getElementById('eventInfo');
document.addEventListener('click', function(ev){
f.style.left = (ev.clientX-25)+'px';
f.style.top = (ev.clientY-25)+'px';
},false);

当鼠标点击页面的时候,红色的圆会在1s内运动到当前位置。

浏览器兼容

Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
-webkit-transition -moz-transition 10 -o-transition -webkit-transition

webkitTransitionEnd

4.0 (2.0) 10 10  oTransitionEnd
12  otransitionend
12.10   transitionend
webkitTransitionEnd

css3动画-transition的更多相关文章

  1. CSS3动画 transition和animation的用法和区别

    transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C   IE  -ms-  Chrome/Safari -webkit-   Firefoc - ...

  2. css3动画transition animation

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

  3. 大厂前端带来css3动画transition的使用和介绍全新认识动画

    CSS3中可以使用transition来做最简单动画效果,transition表示到一个元素的属性值发生变化时,我们可以看到页面元素从旧的属性慢慢变化为新的属性值的过程,这种效果不是立即变化的,而是体 ...

  4. css3动画transition详解2

    transition主要包含四个属性值:执行变换的属性:transition-property,变换延续的时间:transition-duration,在延续时间段,变换的速率变化transition ...

  5. css3 动画 Transition

      CSS Transition 1.1 基本用法 在CSS 3引入Transition(过渡)这个概念之前,CSS是没有时间轴的.也就是说,所有的状态变化,都是即时完成. 上面是一个演示,当鼠标放置 ...

  6. css3动画transition详解

    一.transition-property 语法: transition-property : none | all | [ <IDENT> ] [ ',' <IDENT> ] ...

  7. css3动画入门transition、animation

    css3动画 transition.animation CSS3 transition demo <!DOCTYPE html> <html> <head> < ...

  8. css3中动画(transition)和过渡(animation)详析

    css3中动画(transition)和过渡(animation)详析

  9. css3动画属性中的transition属性

    一.语法 transition: property duration timing-function delay; 值 描述 transition-property 规定设置过渡效果的 CSS 属性的 ...

随机推荐

  1. Java Networking Related (Java Examples in a Nutshell 3rd Edition)

    Examples to: Use URL class to parse URLs and download the network resources specified by a URL Use U ...

  2. MySQL操作失误导致mysql数据库查看不了

    使用  show databases; +--------------------+| Database           |+--------------------+| information_ ...

  3. Android----->多线程的实现Thread、IntentService的运用

    首先建立一个Intent.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  4. JavaScript(四)---- 函数

    函数主要用来封装具体的功能代码. 函数是由这样的方式进行声明的:关键字 function.函数名.一组参数,以及置于括号中的待执行代码. 格式: function 函数名(形参列表){         ...

  5. ORACLE中CHAR、VARCHAR、NVARCHAR

    1. char      固定长度,最长n个字符.   2. varchar      最大长度为n的可变字符串. (n为某一整数,不同数据库,最大长度n不同)   char和varchar区别:   ...

  6. C#实现http断点下载

    我们寄希望于万能的解决方案,但是现实的情况总是很糟糕.在软件编程的世界中,技术分散的情况尤为严重,且不说各种语言拥有的优势不能融合,单就一门语言而言,就拥有众多的技术和相关技术需要学习.网络编程就是这 ...

  7. CF 389 E 贪心(第一次遇到这么水的E)

    http://codeforces.com/contest/389/problem/E 这道题目刚开始想的特别麻烦...但是没想到竟然是贪心 我们只需要知道偶数的时候可以对称取的,然后奇数的时候没次取 ...

  8. C#入门经典第八章面向对象编程-3-Windows应用程序中的OOP

    实例一:使用对象.代码如下: 首先从工具箱中拖一个按钮,并添加事件. private void button2_Click(object sender, EventArgs e) {//按钮的Butt ...

  9. 一段代码详解JavaScript面向对象

    (function(){ //私有静态成员 var user = ""; //私有静态方法 function privateStaticMethod(){ } Box = func ...

  10. HDU 4115 Eliminate the Conflict

    2-SAT,拆成六个点. #include<cstdio> #include<cstring> #include<cmath> #include<stack& ...