jQuery-动画
jQuery -动画
jQuery动画分为三个部分,非自定义动画,自定义动画,和全局动画设置。
一、非自定义动画:
1.显示、隐藏:
show( ) 、hide( )、toggle()
两种用法:1)不传参数,代表直接显示隐藏。
2) 向方法中传递一个参数,这个参数为number类型,代表动画的执行时间。会有显示隐藏的动画效果。
示例:show(100)、hide(100)、toggle(100)
除此之外,jQuery还为动画方法提供了三种字符串形式的参数:fast、slow、和空字符串''
示例:show('fast')、hide('slow')、toggle('')
三种参数的执行时间分别为 :'fast' :200毫秒 ''(默认值):400毫秒 'slow':600毫秒
2.滑动:
slideUp():向上滑动(隐藏)
slideDown():向下滑动(显示)
slideToggle():滑动(自动)
3.淡入淡出:
fadeOut():淡出(隐藏)
fadeIn():淡入(显示)
fadeToggle():显示隐藏()自动
fadeTo(),该方法接受两个参数。
参数1是动画执行的时间,参数2是期望达到的透明度。
二、自定义动画
animate()方法
animate()方法有三个参数。分别是动画目标(target),动画执行时间,回调函数。只有第一个参数是必填参数。
animate()方法的使用:
将元素属性变换为自定义动画中的目标属性,所有参数中的属性一起改变。
animate({ 'width':'200px', 'height':'200px' })
设置的属性,支持运算。
animate({ 'width':'+=200px' })
如果想要动画按照顺序执行(执行完第一个动画之后,再执行下一个动画)有三种方法:
1)借助动画的回调函数(操作不同元素的时候,推荐使用回调函数)
$('input').click(function(){ $('div').animate({ 'width':'400px', 'height':'400px', },function(){ $('div').animate({ 'width':'200px', 'height':'200px' }) }) })
2)将动画效果分开写
$('input').click(function(){ $('div').animate({ 'width':'400px', 'height':'400px', }) $('div').animate({ 'width':'200px', 'height':'200px' }) })
3)连缀(操作同一元素的时候,推荐使用连缀)
$('input').click(function(){ $('div').animate({ 'width':'400px', 'height':'400px', }).animate({ 'width':'200px', 'height':'200px' }) })
三、动画及相关方法
1.stop()方法
这个方法是停止动画的方法,他有两个参数,都是布尔值。
参数1:代表是否清除动画队列;参数2:代表是否直接运行到最后结果
2.delay()方法
延时执行,该方法有一个参数,是延时执行的毫秒数。
3.动画的递归
$('div').slideToggle(2000,recursion) function recursion(){ $(this).slideToggle(2000,recursion) }
附赠个高级写法:
$('div').slideToggle(2000,function(){ $(this).slideToggle(2000,arguments.callee) }) //arguments.callee:常用在匿名函数中, 代表当前的函数。
jQuery的动画,以上。