我对TRANSITION的理解

transition是CSS3新增加的css属性,主要作用是把css属性从一个值过渡到另一个值,可以自调速度曲线。

Internet Explorer 10、Firefox、Opera 和 Chrome 支持 transition 属性,Safari 支持替代的 -webkit-transition 属性。

但Internet Explorer 9 以及更早版本的浏览器不支持 transition 属性。

语法:transition: property duration timing-function delay;

transition-property 规定设置过渡效果的 CSS 属性的名称。
transition-duration 规定完成过渡效果需要多少秒或毫秒。
transition-timing-function 规定速度效果的速度曲线。
transition-delay 定义过渡效果何时开始。

对于兼容性,css主要分:transition 和 -webkit-transition,js方面有node.style[‘webkitTransform‘]和node.style[‘Transform‘],

js方面还有一个webkitTransitionEnd的事件,就是当transition动画结束时,会触发这样一个事件,不过只能在在WebKit引擎的浏览器中使用。

function setPosition(node, left) {
node.style[‘webkitTransform‘] = "translate3d("+left+"px, 0, 0)";
}

function addTransitions(node){
node.style[‘webkitTransition‘] = ‘-webkit-transform‘ + ‘ 20s ease-in-out‘;

node.addEventListener(‘webkitTransitionEnd‘, function(e){
window.setTimeout(function(){
e.target.style[‘webkitTransition‘] = ‘none;‘
}, 0)
})
}

function cleanTransitions(node){
node.style[‘webkitTransition‘] = ‘none‘;
}

先是使用setPositon设置上node的css属性最终要到达的值,然后再使用addTransition触发transiton动画。

不过这里有一个问题要,如果在页面加载过程中直接使用这两个函数,只能看到最终的结果,动画不会发生。

还有如果一个dom元素,是被动态创建并插入到dom中的,紧接着使用这两个函数,也不会看到动画的效果,只会看到最终的效果。

document.body.onclick = function(){
var box = document.createElement("div");
box.className = ‘box‘;
this.appendChild(box);
setPosition(box,‘400‘);
addTransitions(box);
};

时间: 2024-12-11 20:11:52

我对TRANSITION的理解的相关文章

Transition FrameWork

Android Transition Framework可以实现三种效果: 不同Activity之间切换时,Activityc的内容(contentView)转场动画 不同Activity之间切换时,如果使用了Shared Element动画,也可以使用Transition FrameWork来实现不同的过渡动画效果 同一个Activity内View变化的过渡动画(Scene) 1. Activity之间切换的过渡动画 通过这种方法可以使activity切换时,他们的布局内容有过度动画 当从Ac

【VUE】VUE相关学习和知识备份

一.学习资料参考 1.1.Vue.js 官网:Vue.js https://cn.vuejs.org/ 官方文档:介绍 - Vue.js https://cn.vuejs.org/v2/guide/ API 参考:API - Vue.js https://cn.vuejs.org/v2/api/ 附:vue.js(1.0版本) https://v1-cn.vuejs.org/ (教程和API自行寻找) 1.2.Vue Router 学习和理解: 官方文档:介绍 | Vue Router http

CSS3(4)---动画(animation)

CSS3(4)---动画(animation) 之前有写过过渡:CSS3(2)--- 过渡(transition) 个人理解两者不同点在于 过渡 只能指定属性的 开始值 与 结束值,然后在这两个属性值之间进行平滑过渡来实现动画效果,因此只能实现简单的动画效果. 动画 除了定义 开始值 和 结束值,在这之间还可以定义多个关键帧以及定义每个关键帧中元素的属性值来实现复杂的动画效果. 一.动画语法 1.属性语法 语法格式 animation:动画名称 动画时间 运动曲线 何时开始 播放次数 是否反方向

理解CSS3属性transition

一.说明 1.1 定义和用法 transition 属性是一个简写属性,用于设置四个过渡属性: transition-property:规定设置过渡效果的CSS属性的名称. transition-duration:规定完成过渡效果需要多少秒或毫秒. transition-timing-function:规定速度效果的速度曲线. transition-delay:定义过渡效果何时开始. 1.2 语法 transition: property duration timing-function del

深入理解CSS过渡transition

通过过渡transition,可以让web前端开发人员不需要javascript就可以实现简单的动画交互效果.过渡属性看似简单,但实际上它有很多需要注意的细节和容易混淆的地方.本文将介绍和梳理关于CSS过渡的知识 定义 过渡transition是一个复合属性,包括transition-property.transition-duration.transition-timing-function.transition-delay这四个子属性.通过这四个子属性的配合来完成一个完整的过渡效果 tran

理解本真的REST架构风格

引子 在移动互联网.云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落伍了.夸张点说,甚至“出了门都不好意思跟别人打招呼”.尽管如此,对于REST这个泊来品的理解,大多数人(包括一些资深的架构师)仍然停留在“盲人摸象”的阶段.常常听到各种各样关于REST的说法,例如:有人说:“我们这套新的API决定不用Web Service(SOAP+WSDL),而是直接使用HTTP+JSON,也就是用RESTful的方式来开发.” 不用SOAP,甚至也不用

深入理解OpenERP的工作流(Workflow)

原文源自老肖 一.工作流定义:< ?xml version="1.0"?>  < terp><data>    <record model="workflow" id=workflow_id>    <field name="name">workflow.name</field>    <field name="osv">resource.mo

CSS transition 过渡 详解

transition 过渡 IE10.Firefox.Chrome.Opera 支持 transition 属性. Safari 需要前缀 -webkit-. Chrome 25 以及更早版本需要前缀 -webkit-. IE9 以及更早版本不支持 transition 属性. 过渡属性 transition-property:规定应用过渡效果的 CSS 属性的名称(当指定的CSS属性改变时,过渡效果开始),其默认值为 all . transition-duration:规定完成过渡效果需要的时

全面理解 Unity UI 系统

[狗刨学习网] 随着 Unity 4.6 发布,新 UI 系统终于与大家见面了. RectTransform Unity UI 系统使用 RectTransform 实现基本的布局和层次控制.RectTransform 继承于 Transform,所以 Transform 的所有特征 RectTransform 同样拥有.在 Transform 基础上,RectTransform 增加了 轴心(pivot).锚点(实际上是用 anchorMin.anchorMax 两个点定义的矩形区域).和 尺