如何方便的控制css3动画开始时间点与持续时间
2015-01-27 10:05
411 查看
一般我们在控制css3animate动画时可以通过简写以减少代码量,只要在需要动画的元素上追加一下类名就可以了,如下例子
/*淡入并向上移动一点位置出现*/
.fadeInUp{
-webkit-animation:fadeInUp1000ms.8seaseboth;
}
@-webkit-keyframesfadeInUp{
0%{
opacity:0;
-webkit-transform:translateY(20px);
transform:translateY(20px)
}
100%{
opacity:1;
-webkit-transform:translateY(0);
transform:translateY(0)
}
}
这样跟以前的相比已经算是布局精简的了。但是当一个页面中一次性有很多个元素在运行css3动画时,更糟糕的是居然都大部分的动画效果是同一个类型的但运动的时间点与持续时间不同。这时候我们为了控制不同元素的效果的开始时间点已经持续时间长度,只能复制复制再复制,然后根据需要调整一下运动的时间点与持续时间长。像下面这样:
.fadeInUp01{
-webkit-animation:fadeInUp1200ms.1seaseboth;
}
.fadeInUp03{
-webkit-animation:fadeInUp1400ms1.2seaseboth;
}
.fadeInUp04{
-webkit-animation:fadeInUp1600ms1.4seaseboth;
}
.
.
.
这样一直复制下去。。。。。
如果我们能够把动画的开始时间以及持续时间长单独抽离出来进行单独控件就好了?
于是我们想到了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");
});
<imgsrc="images/load.png"class="cornerCusAnimateDomScalingAnimate"data-delay="600"data-duration="1500"lazypath="images/card/corner.png"/>
请参看http://gift.guzhongyi.com/看下源代码即可更深刻了解,认识。
-webkit-animation:fadeInUp1200ms.1seaseboth;
}
.fadeInUp03{
-webkit-animation:fadeInUp1400ms1.2seaseboth;
}
.fadeInUp04{
-webkit-animation:fadeInUp1600ms1.4seaseboth;
}
.
.
.
这样一直复制下去。。。。。
如果我们能够把动画的开始时间以及持续时间长单独抽离出来进行单独控件就好了?
于是我们想到了js
$(".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");
});
请参看
相关文章推荐
- 【CSS3】设置动画开始播放的时间
- Draw2d中如何控制ToolTip的持续时间
- 如何去掉DateTime中的精确时间方便查询。
- 如何:控制文本框文本更新源的时间
- DataGridView单元格字符超长,ToolTip冒泡提醒功能,可控制宽度和持续显示时间
- Win8系统如何让家长更放心孩子使用电脑(合理控制时间)
- css3 动画停止的时候如何保持最后一个动作不变
- 如何使用html5与css3完成google涂鸦动画
- 如何实现串口控制 我刚开始学delphi 希望得到帮助
- 如何减少服务器迁移中宕机时间及控制风险
- Clander的用法。如何取得当前时间一个月后/前的时间。如何取得某个月的最后一天。如何取得今年的第一个周一。五月的第二个星期日。如何取得今年的第一周(注意国外的日历和国内可能不一样,如何设置一周开始
- 如何运用按钮控制时间轴上帧的移动与跳转
- silverlight如何在运行时用代码动态控制(或创建)动画
- Linux 技巧: 控制预定作业的持续时间
- silverlight如何在运行时用代码动态控制(或创建)动画
- 如何在apache中设置session的持续时间
- 如何查rman每个数据文件的备份开始及结束时间
- 如何实现串口控制 我刚开始学delphi 希望得到帮助
- Css3 3d animation Step1---介绍如何实现css动画
- HTML5实践 -- 如何使用css3完成google涂鸦动画