分享一些常用的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 相关文章推荐
用javascript实现画板的代码
Sep 05 Javascript
JavaScript?Apple设备检测示例代码
Nov 15 Javascript
jQuery实现的网页左侧在线客服效果代码
Oct 23 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
AngularJS入门教程引导程序
Aug 18 Javascript
w3c编程挑战_初级脚本算法实战篇
Jun 23 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
JS+php后台实现文件上传功能详解
Mar 02 Javascript
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
Vue分页器实现原理详解
Jun 28 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
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
set_include_path在win和linux下的区别
2008/01/10 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[03:48]大碗DOTA
2019/07/25 DOTA
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
基于Python的关键字监控及告警
2017/07/06 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
Python 必须了解的5种高级特征
2020/09/10 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
网络宣传方案
2014/03/15 职场文书
一年级学生评语
2014/04/23 职场文书
公积金接收函格式
2015/01/30 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
小王子读书笔记
2015/06/29 职场文书
中秋节感想
2015/08/10 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL