手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jQuery Animation实现CSS3动画示例介绍
jQuery Animation实现CSS3动画示例介绍
摘要:jQueryAnimation的工作原理是通过将元素的CSS样式从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果...

jQuery Animation的工作原理是通过将元素的CSS样式从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。详细用法请参考jQuery 效果 - animate()方法和官方教程。

像CSS3好多效果因为不是数值的,所以是没有办法直接通过animate()方法实现的。如translate(), rotate(), scale(), skew(), matrix(), rotateX(), rotateY()等方法,这些方法的一个特点就是它们的值是字符和数字混合在一起的。因此我们是不可以直接用animate()方法来动态地修改它们的值来实现动画的效果。

如果我们自己用JavaScript实现CSS3动画,那么我们只能自已通过setInterval()方法来实现,实现起来比较复杂。其实animate()方法就是基于setInterval()方法进行工作的,但是可以用方便的设置动画速度,还可以设置是匀速还是变速。animate()方法的第二种用法有个step参数规定动画的每一步要执行的函数。我们可以用使用一个不影响元素效果显著的CSS值来触发animate()方法,然后在step回调函数中修改我们想要修改的值,这样就可以间接地实现动画了。请看transform例子:

复制代码 代码如下:

<div id="box"></div>

#box {

width:100px;

height:100px;

position:absolute;

top:100px;

left:100px;

text-indent: 90px;

background-color:red;

}

$('#box').animate({ textIndent: 0 }, {

step: function(now,fx) {

$(this).css('-webkit-transform','rotate('+now+'deg)');

},

duration:'slow'

},'linear');

这里使用text-indent属性来触发动画,是因为我们这里没有文字,所以使用text-indent而不会影响到元素的样式效果,这里也可以用font-size等。然后使用animate()方法产生的节奏来实现动画。以此类推,我们就可以实现很多效果了。具体例子请参考这里

参考文档

"http://www.jb51.net/w3school/jquery/effect_animate.htm" target=_blank>jQuery 效果 - animate() 方法

"http://api.jquery.com/animate/" target=_blank>.animate()

【jQuery Animation实现CSS3动画示例介绍】相关文章:

jQuery+ajax实现无刷新级联菜单示例

jQuery插件Slider Revolution实现响应动画滑动图片切换效果

javascript实现控制的多级下拉菜单

jQuery仿gmail实现fixed布局的方法

javascript实现炫酷的拖动分页

jQuery Timelinr实现垂直水平时间轴插件(附源码下载)

jQuery实现页面内锚点平滑跳转特效的方法总结

jquery实现弹出层效果实例

js实现简单div拖拽功能实例

jQuery实现返回顶部效果的方法

精品推荐
分类导航