show()、hide()、fadeIn()、fadeOut()、slideDown、slideUp、slideToggle()都接受可选的时长和回调参数(选项对象参数)。

toggle(duration,callback)

toggle(condition)传入true和不带参数调用show()是一样的,传入false则和不带参数调用hide()是一样的。

fadeTo()会将元素的当前opacity值变化的目标值,第一参数必须是时长,第二参数是opacity目标值,第三参数是回调函数。

时长:字符串"fast"表示200ms,字符串"normal"表示400ms,字符串"slow"表示600ms。默认为400ms。

jQuery.fx.speeds["medium-fast"]=300;

jQuery.fx.speeds["medium-slow"]=500;  //改变默认定义的时长

animate(properties,duration,easing,callback);

animate(properites,options);

在animate()中可以使用"toggle"来实现显示或隐藏。

options参数:duration属性,complete属性(在动画完成时的回调函数),step属性(指定在每一步或每一帧调用的回调函数),queue属性(指定动画是否需要队列化),easing属性。

queue属性:设置为false可以取消默认的队列化,非队列化的动画会立即执行。随后队列化的动画不会等待非队列化的动画执行完成后才执行。

$('img').fadeIn(500).animate({'width':'+=100'},{queue:false,duration:1000}).fadeOut(500);

//改变width属性是非队列化的,这段width动画和fadeIn()效果的开始时间相同。fadeOut()效果会在fadeIn()效果完成时立刻开始,它不会等到width动画完成。

easing属性:指定缓动函数名,jQuery默认使用的是命名为"swing"的正弦函数。

stop([clearQueue][,gotoEnd])方法

1.如果直接使用不带参数的stop()方法,则会立即停止当前正在进行的动画,如果接下来还有动画等待继续进行,则以当前状态开始接下来的动画,可以用在不想让元素被用户连续触发,动画不断传入队列的情况。

 $(function(){
$("#panel").hover(function() {
$(this).stop().animate({height : "150",width : "300"} , 200 );
},function() {
$(this).stop().animate({height : "22",width : "60" } , 300 );
});
});

2.stop(true):若不使用参数在下面这种情况下就会出问题。

$(function(){
$("#panel").hover(function() {
$(this).stop()
.animate({height : "150" } , 200 ) //如果此时触发了光标移出的事件,将不执行2处的动画,而会执行3处的动画。
.animate({width : "300" } , 300 )  //3
},function() {
$(this).stop()
.animate({height : "22" } , 200 )  //2
.animate({width : "60" } , 300 )  
});
});

//解决方法:传入true在stop(),此时程序会把当前元素接下来尚未执行完的动画队列都清空。

3.stop(false,true):可以用于让正在执行的动画直接到达结束时刻的状态,通常用于后一个动画需要基于前一个动画的末状态的情况。

4.stop(true,true):停止当前动画直接到达当前动画的末状态,并清空动画队列。

注:jQuery只能设置正在执行的动画的最终状态,而没有提供直接到达未执行动画队列最终状态的方法。

delay(duration[,name]):延迟命名队列中下一个函数的执行,在下一个函数执行之前会停顿一段时间。(省略name则默认为特效队列名称fx)

queue()、dequeue()、clearQueue()队列相关方法

queue(name):根据传入的名称查找建立在匹配集中的第一个元素上的任意队列,并以函数数组形式返回。

queue(name,function):将传入的函数添加到匹配集中的所有元素的命名队列(name参数)的末尾。如果在某个元素上不存在这种命名队列,则创建一个队列。

queue(name,queue):把匹配元素上现有的任意队列替换为传入的队列。(参数name表示需要替换的队列名称。参数queue表示一个函数数组,用于替换命名队列中的现有函数)

dequeue(name):删除匹配集中每个元素的命名队列中的第一个函数(最先传入的函数),并为每个元素执行此函数。(省略name则默认为特效队列名称fx)

clearQueue(name):从命名队列中删除所有未执行的函数。(省略name则默认为特效队列名称fx)

注:队列函数queue()中的回调函数是jQuery1.4引入的新特性,可以用next()方法来连接以运行队列中的下一项,当然也可以调用dequeue()方法。

$('message').fadeIn().delay(200).queue(function(text){
$(this).text('Hello World');
next(); //运行队列中的下一项
}).animate({borderWidth:'+=10px;'}); //也可以调用dequeue()方法
$('message').fadeIn().delay(200).queue(function(text){
$(this).text('Hello World');
$(this).dequeue(); //替代next()方法
}).animate({borderWidth:'+=10px;'});

动画队列顺序总结:

1.对于一组元素上的动画,当在一个animate()方法中应用多个属性时,动画是同时发生的。当以链式的写法应用动画方法时,动画是按照顺序发生的。

2.当以回调的形式应用动画方式时,动画是按照回调顺序发生的。

代码片段集

//example1
$('img').animate({
opacity:.25,
font-size:10,
width:'hide',
borderLeft:'hide',
borderRight:'hide',
paddingLeft:'hide',
paddingRight:'hide' //可以实现'slideRight'效果(动画内容是元素宽度)
},{
duration:400,
complete:function(){
this.text('Goodbye');
},
queue:true,
easing:swing
}
//example2
////jQuery动画框架允许为不同的CSS动画属性指定不同的缓动函数。
//第一种方式,使用specialEasing选项
$('img').animate({
width:'hide',
height:'hide',
opacity:'hide'
},{specialEasing:{
width:'linear',
height:'linear'
}
}
); //第二种方式,在第一个对象参数中传入[目标值,缓动函数] 数组
$('img').animate({
width:['hide','linear'],
height:['hide','linear'],
opacity:'hide'
});
//example3
//自定义缩放动画
$('.animateMe').each(function(){
$(this).animate({
width:$(this).width()*2,
height:$(this).height()*2
},2000);
});
//example4
//自定义掉落动画
$('.animateMe').each(function(){
$(this).css('position','relative').animate({
opacity:0,
top:$(window).height()-$(this).height()-$(this).position().top //注意这里是$(window)
},'slow',function(){$(this).hide();}
);
});
//example5
//自定义消散动画
$('.animateMe').each(function(){
var position=$(this).position();
$(this).css({
  position:'absolute',
top:position.top,
left:position:left
}).animate({
opacity:'hide',
width:$(this).width()*4,
height:$(this).height()*5,
top:position.top-($(this).height()/2*4),
left:position.left-($(this).width()/2*4)
},'normal');
});

jQuery动画特效笔记的更多相关文章

  1. jQuery动画特效实例教程

    本文以实例形式详细讲述了jQuery动画特效的实现方法. 1.自制折叠内容块 内容块如下:     <div class="module">   <div cla ...

  2. 有时候就是看不进论文-jQuery动画特效篇&MySQL

    hi 早上知道新的乱斗模式后,没忍住开了几把,然后就无心论文了...用这个来破吧 1.jQuery -----动画特效----- ----调用show()和hide()方法显示和隐藏元素 show() ...

  3. 三、jQuery--jQuery基础--jQuery基础课程--第7章 jQuery 动画特效

    1.调用show()和hide()方法显示和隐藏元素 show()和hide()方法用于显示或隐藏页面中的元素,它的调用格式分别为:$(selector).hide(speed,[callback]) ...

  4. jQuery系列 第五章 jQuery框架动画特效

    第五章 jQuery框架动画特效 5.1 jQuery动画特效说明 jQuery框架中为我们封装了众多的动画和特效方法,只需要调用对应的动画方法传递合适的参数,就能够方便的实现一些炫酷的效果,而且jQ ...

  5. jQuery 基础学习笔记总结(一)

    Jquery 学习笔记 总结 感想: 此前在做站点时用到过jquery相关,特别是Ajax相关技术.但是并没有系统的进行学习和了解Jquery的强大的功能,趁这几天跟着资料基本的了解下Jquery的特 ...

  6. jQuery动画效果实现

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. jQuery动画与特效

    参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...

  8. jQuery css3鼠标悬停图片显示遮罩层动画特效

    jQuery css3鼠标悬停图片显示遮罩层动画特效 效果体验:http://hovertree.com/texiao/jquery/39/ 效果图: 源码下载:http://hovertree.co ...

  9. jQuery+CSS3实现404背景动画特效

    效果:http://hovertree.com/texiao/jquery/74/ 源码下载:http://hovertree.com/h/bjaf/ko0gcgw5.htm 效果图如下: 代码如下: ...

随机推荐

  1. buildroot使用详解

    为什么要使用buildroot? (文件系统搭建,强烈建议直接用buildroot,官网[http://buildroot.uclibc.org/]上有使用教程非常详细)文件系统通常要包含很多第三方软 ...

  2. 通过DIV+span方式模拟进度条的实现方法

    上上周用FusionCharts做报表时,有个图是进度条的形式,其实在FusionCharts 3.0之后已经支持了(Linear Gauge),可惜现有系统用的还是1.2.3版本的,重新引入新版本有 ...

  3. [JSP]解决Maven创建项目失败

    来源:http://lovespss.blog.51cto.com/1907593/522225 新建Maven项目时遇到这个错误: Unable to create project from arc ...

  4. 代理服务器(Proxy)原理

    17.1 什么是代理服务器(Proxy)   以类似代理人的身份去取得用户所需要的数据就是了! 但是由于它的『代理』能力,使得我们可以透过代理服务器来达成防火墙功能与用户浏览数据的分析!   此外,也 ...

  5. Nuget版本冲突的问题

    有两个类库项目,一个引用了比如Newtonsoft.Json 6.0, 另一个引用了比如Newtonsoft.Json 8.0, 然后另一个exe项目同时引用了这两个类库项目. 那么在编译的时候会报w ...

  6. pascal闪电入门系列目录

    第一章  准备工作 第二章  Hello,world! 第三章  输出.输入 第四章  变量常量.基本数据类型 第五章  格式.注释 第六章  运算符.表达式.优先级 第七章  分支结构 第八章  数 ...

  7. Java中的自增问题(i=i++)

    也许我这是在较真, 但是我们确实有时候就不小心就错写为这种情况了. 看如下代码: public class Test{ public static void main(String[] args){ ...

  8. vim编辑器详解

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率. vi是“visual interface”的 ...

  9. python画图—黑板客老师课程学习

    1.介绍 把每个图都看作一个对象,图中的每一个部分也是对象.——所有的一切都是对象. 工具——ipython notebook 是python里边用的最多的2D&3D的会图库,开源免费库,使用 ...

  10. StartFP

    1.INODS执行完成时间为13:06:04分, 从日志信息无法知道STARTFP执行到哪一步 从INODS执行完成时间可知道startFp执行时间为13:06:05分开始, 执行StartFP中的e ...