如何方便的控制css3动画开始时间点与持续时间

一般我们在控制css3 animate动画时可以通过简写以减少代码量,只要在需要动画的元素上追加一下类名就可以了,如下例子

/*淡入并向上移动一点位置出现*/
.fadeInUp{
    -webkit-animation:fadeInUp 1000ms .8s ease both;
}
@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px)
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}
}
 
这样跟以前的相比已经算是布局精简的了。但是当一个页面中一次性有很多个元素在运行css3动画时,更糟糕的是居然都大部分的动画效果是同一个类型的但运动的时间点与持续时间不同。这时候我们为了控制不同元素的效果的开始时间点已经持续时间长度,只能复制复制再复制,然后根据需要调整一下运动的时间点与持续时间长。像下面这样:
.fadeInUp01{
    -webkit-animation:fadeInUp 1200ms .1s ease both;
}

.fadeInUp03{
    -webkit-animation:fadeInUp 1400ms 1.2s ease both;
}
.fadeInUp04{
    -webkit-animation:fadeInUp 1600ms 1.4s ease both;
}
.
.
.

这样一直复制下去。。。。。

如果我们能够把动画的开始时间以及持续时间长单独抽离出来进行单独控件就好了?

于是我们想到了js

//对每一个追加CusAnimateDom类名的动画元素设置自定义属性
        $(".CusAnimateDom").each(function () {
            var _delay = $(this).attr("data-delay");
            var _duration = $(this).attr("data-duration");
            $(this).css("-webkit-animation-delay", (_delay) + "ms");
            $(this).css("-webkit-animation-duration", (_duration) + "ms");
        });
<img src="images/load.png" class="corner CusAnimateDom ScalingAnimate" data-delay="600" data-duration="1500" lazypath="images/card/corner.png" />

请参看http://gift.guzhongyi.com/看下源代码即可更深刻了解,认识。

时间: 2024-10-08 20:13:43

如何方便的控制css3动画开始时间点与持续时间的相关文章

css3控制多重动画效果

今天看到一个类似于门窗开关效果.想着用css3实现,当然js是可以必须能够实现的.我主要想体验一把css3的神奇. 0102 01图片缩小,缩小到看不到之后,出现02图片放大的效果. 实现原理:用一个外层div来触发hover效果,里面套两个图片div, 分别为图一和图二 主要使用css3的transform和transition效果,而且比较重点的是transition-delay延时属性. 具体代码 html-------------------------- <div id="out

使用CSS3动画 animation 来控制元素的显示和隐藏

CSS3中 animation 和 transition 俩样式都能创建动画效果,而且是后台C++执行的,所以效率比普通jQuery的js模拟动画的效率高很多,所以建议大家能用css实现的效果都用css. transition的使用比较简单,这里就不介绍了,着重为大家介绍下 animation . animation 的css属性有很多,本文通过 animation-name 来控制启动动画和转换动画,以下是一个通过 animation 来控制元素的显示和隐藏的例子(仅支持webkit): <!

css3动画-animation属性

在开始介绍Animation之前我们有必要先来了解一个特殊的东西,那就是"Keyframes",我们把他叫做"关键帧",玩过flash的朋友可能对这个东西并不会陌生.下面我们就一起来看看这个"Keyframes"是什么东西.前面我们在使用transition制作一个简单的transition效果时,我们包括了初始属性和最终属性,一个开始执行动作时间和一个延续动作时间以及动作的变换速率,其实这些值都是一个中间值,如果我们要控制的更细一些,比如说我要

css3动画机制原理和实战

这段时间喜欢上css3动画效果了,关于这个每个人都有不同的看法,在我个人看来css3在做一些小页面的动画效果还是很好用的,一些简单的小动画要是用js的话,未免浪费. 要是做大一点的话最好js+css3相结合,这样既有js的高效控制力,也有css3的操作效果.不多废话了,下面看具体操作吧 首先要了解css3的动画原理和基本操作属性 做过flash或者gif动画的人都知道动画的效果无非就是图片.关键帧和时间动作组成. 首先了解@keyframes 规则(说白了就是css3做动画的一个规定命名) 定义

css3 动画应用 animations 和transtions transform在加上JavaScript 可以实现硬件加速动画。

transitions(过渡) 被应用于元素指定的属性变化时,该属性经过一段时间逐渐的过渡到最终想要的值. 主要包括四个属性: 执行变换的属性:transition-property 变换延续的时间:transition-duration 变换的速率变化:transition-timing-function 变换延迟时间:transition-delay. 1.transition-propery 语法:transition-property:none| all |[<IDENT>] [','

KHL 005 11-计算机-本职-前台 CSS3 动画

animation 动画效果组成 通过类似Flash动画中的关键帧来声明一个动画 在animation属性中调用关键帧声明的动画,从而实现一个更为复杂的动画效果 animation的子属性 animation-name : 主要用来指定一个关键帧动画的名字,这个动画名必须对应一个@keyframes规则.CSS加载时会应用animation-name指定的动画,从而执行动画. animation-duration : 主要用来设置动画播放所需时间,一般以秒为单位 animation-timing

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

前言 动画使用示例https://github.com/AndyFlower/web-front/tree/master/css3/loading 学习CSS3中Animation之前先来看一个动画特效(可以自己运行看下实际效果) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title<

CSS3学习(CSS3过渡、CSS3动画)

CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加过渡效果.我们仅仅使用到了一个transition属性,专门来写过渡从一个样式到另一个样式过渡时所花费的时间,以秒为单位.若时长不规定,默认为0,即没有过渡时间.在使用这个过渡效果的时候,我们使用了类似于超链接的l(link).v(visited).h(hover).a(active)样式的控制.此

css3动画详解

一.Keyframes介绍: Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后面紧跟着是动画名称加上一对花括号"{-}",括号中就是一些不同时间段样式规则. @keyframes changecolor{ 0%{ background: red; } 100%{ background: green; }} 示例:创建一个动画名叫"changecolor",在"0%&quo