分享一些常用的jQuery动画事件和动画函数


Posted in Javascript onNovember 27, 2015

部分jQuery常用的动画函数,整理了一下,在做交互式页面的时候挺有用的

.css('a','12px');
.css({
 a:'12px',
 b:'#fff'
});
.show();
.hide();
.toggle();
.fadeIn();
.fadeOut();
.fadeToggle();
.slideDown();
.slideUp();
.slideToggle();
.text('string');
.animate({
 a:'40px',
 b:'ccc'
},200)
.fadeTo(600,0.4);

然后又整理了一些animate函数能够操作的css属性,其实也是从网上其他地方找来的(https://3water.com/article/75510.htm):

backgroundPosition
 borderWidth
 borderBottomWidth
 borderLeftWidth
 borderRightWidth
 borderTopWidth
 borderSpacing
 margin
 marginBottom
 marginLeft
 marginRight
 marginTop
 outlineWidth
 padding
 paddingBottom
 paddingLeft
 paddingRight
 paddingTop
 height
 width
 maxHeight
 maxWidth
 minHeight
 maxWidth
 font

 fontSize(在animate函数的css参数指定并不同于标准css属性,例如这个css标准是:font-size。同理上
面很多也是这样的情况)

bottom
 left
 right
 top
 letterSpacing
 wordSpacing
 lineHeight
 textIndent
 opacity

 jQuery动画函数

 jQuery动画函数分三类:

1、基本动画函数:既有透明渐变又有滑动效果,常用动画效果。
2、滑动动画函数:仅使用滑动效果。
3、淡入淡出动画函数:仅使用淡入淡出效果。

一.基本动画函数:

1、show()

显示隐藏匹配元素。这个就是'show( speed, [callback] )'无动画的版本。如果选择的元素是可见的,这个方法将不会改变任何东西。无论这个元素是通过hide()方法隐藏的还是在CSS里设置了display:none;,这个方法都将有效。
例如:显示所有段落,$("p").show()

2、show(speed,[callback])

以优雅的动画显示匹配的元素,并且在显示完成后可选择返回一个回调函。可根据指定的速度动态改变每个匹配元素高度、宽度和不透明度。
例如:用缓慢的动画将隐藏的段落显示出来,历时600毫秒,$("p").show(600)

3、hide()

隐藏显示元素。这个就是 'hide( speed, [callback] )'的无动画版。如果选择的元素是隐藏的,这个方法将不会改变任何东西。
例如:隐藏所有段落,$("p").hide()

4、hide(speed,[callback])

以优雅的动画隐藏所有匹配的元素,并在显示完成后可选的触发一个回调函数。可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。在jQuery1.3中,padding和margin也会有动画,效果更流畅。
例如:用600ms的时间将段落缓慢的隐藏,$("p").hide("slow");

5、toggle

切换元素的可见状态。如果元素时可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
例如:切换所有段落的可见状态,$("p").toggle()

6、toggle(switch)

根据switch参数切花元素的可见状态(true为可见,false为隐藏)。如果switch设为true,则调用show()方法来显示匹配的元素,如果switch设为false则调用hide()来隐藏元素。
例如:切换所有段落的可见状态,varflip=0;$("button").click(function(){$("p").toggle(flip++%2==0);});

7、toggle(speed,[callback])

以优雅的动画切换所有匹配的元素,并在显示完成后可选的触发一个回调函数。可根据指定的速度动态的改变每个匹配元素的高度、宽度和不透明度。jquery1.3,padding和margin也会有动画,效果更流畅。

例如:用200ms将段落迅速切换显示状态,之后弹出一个对话框,$("p").toggle("fast",function(){alert("hello!");});

二.滑动动画函数sliding

1、slideDown(speed,[callback])

通过高度变化(向下增大)来动态的显示所有匹配的元素,在显示完成后可选择的处发一个回调函数。这个动画效果只调整元素的高度,可以是匹配的元素以“滑动”的方式显示出来。在jQuery1.3中,上下的padding和margin也会有动画,效果更流畅。
例如:用600ms缓慢的将段落滑下,$("p").slideDown("slow");

2、slideUp(speed,[callback])

通过高度变化(向上减小)来动态的隐藏所有匹配的元素,在隐藏完成后可选的触发一个回调函数。
例如:600ms缓慢的将段落滑上,$("p").slideUp("slow");

3、slideToggle(speed,[callback])

通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选的触发一个回调函数。
例如:600ms缓慢的将段落滑上或滑下,$("p").slideTogggle("slow");

三.淡入淡出函数Fading

1、fadeIn(speed,[callback])

通过透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选的调用一个回调函数。这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。
例如:用600ms缓慢的将段落淡入,$("p").fadeIn("slow");

2、fadeOut(speed,[callback])

通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选择的触发一个回调函数。
例如:用600ms缓慢的将段落淡出,$("p").fadeOut("slow");

3、fadeTo(speed,opacity,[callback])

把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选的出发一个回调函数。
例如:用600ms缓慢将段落的透明度调整到0.66,大约2/3的可见度,$("p").fadeTo("slow",0.66)

四、自定义动画函数Custom

1、animate(params,[duration],[easing],[callback])用于创建自定义动画的函数。这个函数的关键在于制定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如height、top或opacity)。注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left。而每个属性的值表示这个样式属性到多少是动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是hide、show、toggle这样的字符串值,则会就该属性调用默认的动画形式。

例如:点击按钮后div元素的几个不同属性一同变化,

$("#go").click(function(){
$("#block").animate({
width:"90%",height:"100%",fontSize:"10em",borderWidth:10
},1000);
});

2、stop([clearQueue],[gotoEnd])

停止所有在指定元素上正在运行的动画。如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行clearQueue(Boolean):如果设置成true,则清空队列。可以立即结束动画。gotoEnd(Boolean):让当前正在执行的动画立即完成,并且重设show和hide的原始样式,调用回调函数等。

例如:点击Go之后开始动画,点Stop之后会在当前位置停下来:

// 开始动画
$("#go").click(function(){
$(".block").animate({left: '+200px'}, 5000);
});
// 当点击按钮后停止动画
$("#stop").click(function(){
$(".block").stop();
});
[javascript] view plaincopy
$(document).ready(function(){ 
$(".box h3").toggle(function(){ 
$(this).next(".text").animate({height: 'toggle', opacity: 'toggle'}, "slow"); 
$(this).addClass("arrow"); 
return false; 
},function(){ 
$(this).next(".text").animate({height: 'toggle', opacity: 'toggle'}, "slow"); 
$(this).removeClass("arrow"); 
return false; 
}); 
});
Javascript 相关文章推荐
浅析jQuery 遍历函数,javascript中的each遍历
May 25 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
Mar 14 Javascript
关于vue.js过渡css类名的理解(推荐)
Apr 10 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
Jun 13 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
在vue中实现简单页面逆传值的方法
Nov 27 Javascript
ajax前台后台跨域请求处理方式
Feb 08 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
Sep 05 Javascript
Vue的路由及路由钩子函数的实现
Jul 02 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
Aug 18 Javascript
JS实现的仿淘宝交易倒计时效果
Nov 27 #Javascript
谈谈jQuery Ajax用法详解
Nov 27 #Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
Nov 26 #Javascript
基于jquery实现全屏滚动效果
Nov 26 #Javascript
javascript给span标签赋值的方法
Nov 26 #Javascript
谈谈javascript中使用连等赋值操作带来的问题
Nov 26 #Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 #Javascript
You might like
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
详解Python是如何实现issubclass的
2019/07/24 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Python实现微信好友的数据分析
2019/12/16 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
大学生自我鉴定
2013/12/16 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
研究生导师评语
2014/12/31 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python
Python3的进程和线程你了解吗
2022/03/16 Python
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL