jQuery动画特效笔记
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动画特效笔记的更多相关文章
- jQuery动画特效实例教程
本文以实例形式详细讲述了jQuery动画特效的实现方法. 1.自制折叠内容块 内容块如下: <div class="module"> <div cla ...
- 有时候就是看不进论文-jQuery动画特效篇&MySQL
hi 早上知道新的乱斗模式后,没忍住开了几把,然后就无心论文了...用这个来破吧 1.jQuery -----动画特效----- ----调用show()和hide()方法显示和隐藏元素 show() ...
- 三、jQuery--jQuery基础--jQuery基础课程--第7章 jQuery 动画特效
1.调用show()和hide()方法显示和隐藏元素 show()和hide()方法用于显示或隐藏页面中的元素,它的调用格式分别为:$(selector).hide(speed,[callback]) ...
- jQuery系列 第五章 jQuery框架动画特效
第五章 jQuery框架动画特效 5.1 jQuery动画特效说明 jQuery框架中为我们封装了众多的动画和特效方法,只需要调用对应的动画方法传递合适的参数,就能够方便的实现一些炫酷的效果,而且jQ ...
- jQuery 基础学习笔记总结(一)
Jquery 学习笔记 总结 感想: 此前在做站点时用到过jquery相关,特别是Ajax相关技术.但是并没有系统的进行学习和了解Jquery的强大的功能,趁这几天跟着资料基本的了解下Jquery的特 ...
- jQuery动画效果实现
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- jQuery动画与特效
参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...
- jQuery css3鼠标悬停图片显示遮罩层动画特效
jQuery css3鼠标悬停图片显示遮罩层动画特效 效果体验:http://hovertree.com/texiao/jquery/39/ 效果图: 源码下载:http://hovertree.co ...
- jQuery+CSS3实现404背景动画特效
效果:http://hovertree.com/texiao/jquery/74/ 源码下载:http://hovertree.com/h/bjaf/ko0gcgw5.htm 效果图如下: 代码如下: ...
随机推荐
- 移动端穿插着PC端自动化-Python基础(干货)
1.前面已经把所有前期工作完成了 下面进行一些简单的小脚本来更好的了解Python.对Python有一些基础的童鞋理解起来会比较容易,我刚接触的时候也会有点懵的,现在简单的也是没问题了. 大牛请不要喷 ...
- HTML。CSS浮动元素详解
浮动定位是指 1.1将元素排除在普通流之外,即元素将脱离标准文档流 1.2元素将不在页面占用空间 1.3将浮动元素放置在包含框的左边或者右边 1.4浮动元素依旧位于包含框之内 2. 浮动的框可以向左或 ...
- ConnectionString属性尚未初始化
问题前因:使用动软代码生成的三成模板然后复制到相应的类库 动软生成的 sql帮助类 推荐的是DBsqlhelp 期间引用了:BLl层:Maticsoft.Common.dll DAl层:Maticso ...
- 8天掌握EF的Code First开发系列之5 视图、存储过程和异步API
本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 视图View 存储过程 异步API 本章小结 咱们接着上一篇继续深入学习,这一篇说说Entity Framewo ...
- Res_Orders_01需求分析
一.背景及好处 为了提高餐厅的运营效率,增强餐厅各部门间的配合,减少顾客到店后的点餐.等餐及结算过程消耗的时间,降低服务员点餐失误率,进一步提高餐厅管理人员对菜品.资金的管理以及更好的掌握餐厅的全局运 ...
- 安装Nexus
- Google V8编程详解(序)Cloud App
此系列文章转载于此http://blog.csdn.net/feiyinzilgd/article/details/8247723 应用程序发展到今天,应用程序的概念也在不断地发生着 ...
- Maven项目导入后打红色X
在所有的配置都正确的情况,程序能正常运行跑起来,看一下problem下的红色错误 如果这两个错误不影响你的程序,或者已经配置或处理,直接右击删除这两个错就行了. 删除之后,就没有了吧,OK搞定
- strcpy 和 strcat
strcpy 原型:char *strcpy( char *dest, char *src ) 头文件:#include <string.h> 功能:将src地址开始且含有NULL结束符 ...
- Linux 常用命令 :cd命令
ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linu ...