jQuery自学教程(六)——动画

一、显示、隐藏

show(),hide()   [hide()和$().css('display','none/inline/block')效果相同]

这两个方法可以传递一个参数,这个参数以ms为单位控制速度,且里面包含了匀速变大变小,以及透明度变换的效果。除了直接

传ms单位的时间值,也可以传‘slow’,‘normal’,‘fast’,分别对应600ms,400ms,200ms。

这两个方法也可以传递第二个参数,回调函数。

eg:$('button').click(function(){

$('div').show('slow',function(){

alert('2016');

});

})

为了方便切换,jQuery提供了一个单独的方法toggle(),可以直接实现切换功能。

二、滑动、卷动

slideUp(),slideDown(),slideToggle(),向上收缩和向下展开。滑动卷动效果和显示隐藏效果一样,具有相同的参数(ms啊,参数啊之类


三、淡入、淡出

jQuery提供了专门用于透明度变化的方法:fadeIn()和fadeOut()以及fadeToggle()和fadeTo()


四、自定义动画

有时候jQuery提供的简单的动画方式并不能满足我们的要求,因此其提供了animate()方法来创建自定义动画。

$('button').click(function(){

$('div').animate({  //内部传递的是一个css 的对象,同时还可以传递动画时间以及回调函数

width:'300px',

height:'200px',

opacity:0.5,

fontsize:'25px'

})

})

上面提到的动画都是固定位置的动画效果,如果要实现位移的动画效果,就要从定位方面入手。

$('button').click(function(){

$('div').animate({ 

top:'300px',

left:'200px'

})

})


五、累加、累减动画

利用“+=”和“-=”来调节,比如:

$('button').click(function(){

$('div').animate({ 

top:'+=100px'

})

})


六、综合动画

有时候希望动画按照一定的顺序来执行,因此需要用连缀或者顺序排列调用或者嵌套来实现列队动画。

eg:$('button').animate().animate()......

当列队动画很多的时候,会造成代码可读性下降,而且有一些操作会“污染”别的操作,比如css操作,由于其并不属于动画范畴

,因此通过连缀没办法将css操作连缀到动画操作中间,会自动将css操作放到第一位,只有把css操作放到指定动画操作的回调函数

里面才能起作用。故jQuery提供了一种queue()方法,可以连缀到动画操作中,在其内部的回调函数中添加css操作等其他操作。

eg: $('#box').slideUp().animate.queue(function(){ $(this).css(...)})

但是这有一个问题,就是后面无法继续连缀动画。解决方案如下

eg: $('#box').slideUp().animate.queue(function(next){ $(this).css(...); next();})

或者eg: $('#box').slideUp().animate.queue(function(){ $(this).css(...); $(this).dequeue();})


七、动画相关方法

1、停止动画

为了停止动画,jQuery提供了一个stop方法,含有两个可选参数stop(clearQueue, gotoEnd);clearQueue传递的是一个布尔值

,代表是否清空未执行完的动画列队,gotoEnd代表是否直接将正在执行的动画跳转到末状态。

没有参数的stop(),对于单一动画仅仅是单纯的暂停。

然而如果是列队动画,则stop()会停止掉当前的动画,直接执行后面的动画。如果要清空后面未执行的动画的话,将clearQueu

e设置为true(默认为false)。而gotoEnd如果设置为true,则会跳转到该动画的末尾位置停止(默认为false)。

2、延迟动画

jQuery中提供了delay(ms)方法,延迟动画的执行。

3、关于的动画的选择器

jQuery提供了一个查找正在运动的动画的选择器,“:animated”,可以筛选出正在运动的动画。


八、动画全局属性

1、$.fx.interval 设置动画运行的帧数,越低越流畅

$.fx.interval = xxx;

2、$.fx.off 可以关闭所有动画效果

$.fx.off = true;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值