jQuery animate easing使用方法图文详解


Posted in Javascript onJune 17, 2016

从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数:

• properties:一组包含作为动画属性和终值的样式属性和及其值的集合

• duration(可选):动画执行时间,其值可以是三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)

• easing(可选):要使用的过渡效果的名称,如:"linear" 或"swing"

• complete(可选):在动画完成时执行的函数

其中参数easing默认有两个效果:"linear"和"swing",如果需要更多效果就要插件支持了,jQuery Easing Plugin提供了像"easeOutExpo"、"easeOutBounce"等30多种效果,大家可以点击这里去看每一种easing的演示效果,下面详细介绍下其使用方法及每种easing的曲线图。

jQuery easing 使用方法

首先,项目中如果需要使用特殊的动画效果,则需要在引入jQuery之后引入jquery.easing.1.3.js

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script type="text/javascript" src="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js"></script>

引入之后,easing参数可选的值就有以下32种:

1. linear
2. swing
3. easeInQuad
4. easeOutQuad
5. easeInOutQuad
6. easeInCubic
7. easeOutCubic
8. easeInOutCubic
9. easeInQuart
10. easeOutQuart
11. easeInOutQuart
12. easeInQuint
13. easeOutQuint
14. easeInOutQuint
15. easeInExpo
16. easeOutExpo
17. easeInOutExpo
18. easeInSine
19. easeOutSine
20. easeInOutSine
21. easeInCirc
22. easeOutCirc
23. easeInOutCirc
24. easeInElastic
25. easeOutElastic
26. easeInOutElastic
27. easeInBack
28. easeOutBack
29. easeInOutBack
30. easeInBounce
31. easeOutBounce
32. easeInOutBounce

当 然一般一个项目中不可能会用到这么多效果,为了减少代码冗余,必要时可以不用引入整个jquery.easing.1.3.js,我们可以只把我们需要的 几种easing放入Javascript文件中,如项目中只用到"easeOutExpo"和"easeOutBounce"两种效果,只需要下面的代 码就可以了

jQuery.extend( jQuery.easing, 
{ 
easeOutExpo: function (x, t, b, c, d) { 
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; 
}, 
easeOutBounce: function (x, t, b, c, d) { 
if ((t/=d) < (1/2.75)) { 
return c*(7.5625*t*t) + b; 
} else if (t < (2/2.75)) { 
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; 
} else if (t < (2.5/2.75)) { 
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; 
} else { 
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; 
} 
}, 
});

使用jQuery自定义动画函数animate来指定easing效果,如自定义一种类弹簧效果的动画:

$(myElement).animate({ 
top: 500, 
opacity: 1 
}, 1000, 'easeOutBounce');

值得一提的是jQuery 1.4版本中对animate()方法,easing的方法进行了扩展,支持为每个属性指定easing方法,详细请参考这里,如:

//第一种写法
$(myElement).animate({ 
left: [500, 'swing'], 
top: [200, 'easeOutBounce'] 
}); 
//第二种写法
$(myElement).animate({ 
left: 500, 
top: 200 
}, { 
specialEasing: { 
left: 'swing', 
top: 'easeOutBounce' 
} 
});

使用jQuery内置动画函数如slideUp()、slideDown()等来指定easing效果,以下两种方法都可以:

$(myElement).slideUp(1000, method, callback}); 
$(myElement).slideUp({ 
duration: 1000, 
easing: method, 
complete: callback 
});

jQuery easing 图解

以下图解可以让你更容易理解每一种easing的效果

jQuery animate easing使用方法图文详解

以上所述是小编给大家介绍的jQuery animate easing使用方法详解的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
区分JS中的undefined,null,&quot;&quot;,0和false
Mar 08 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
jquery蒙版控件实现代码
Dec 08 Javascript
js 模仿锚点定位的实现方法
Nov 19 Javascript
微信小程序自定义模态对话框实例详解
Aug 16 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
Jun 11 Javascript
webpack公共组件引用路径简化小技巧
Jun 15 Javascript
详解vue 数组和对象渲染问题
Sep 21 Javascript
vue项目中使用vue-i18n报错的解决方法
Jan 13 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
Windows下安装 node 的版本控制工具 nvm
Feb 06 Javascript
微信小程序实现上传多张图片、删除图片
Jul 29 Javascript
JS常用字符串方法(推荐)
Jan 15 #Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 #Javascript
JS模拟的Map类实现方法
Jun 17 #Javascript
jQuery实现iframe父窗体和子窗体的相互调用
Jun 17 #Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
Jun 16 #Javascript
JS阻止事件冒泡行为和闭包的方法
Jun 16 #Javascript
jquery实现简单Tab切换菜单效果
Jul 17 #Javascript
You might like
php5 mysql分页实例代码
2008/04/10 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
PHP实现的日历功能示例
2018/09/01 PHP
php自动加载代码实例详解
2021/02/26 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
python从入门到精通(DAY 2)
2015/12/20 Python
python中函数传参详解
2016/07/03 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
Python 多核并行计算的示例代码
2017/11/07 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
意大利网上药房:Farmacia 33
2020/01/27 全球购物
护理学毕业生求职信
2013/11/14 职场文书
应用英语专业自荐信
2014/01/26 职场文书
法学专业求职信
2014/07/15 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
Nginx配置https原理及实现过程详解
2021/03/31 Servers
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS