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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
优化 JavaScript 代码的方法小结
Jul 16 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 Javascript
Js Jquery创建一个弹出层可加载一个页面
May 08 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
Dec 15 Javascript
JavaScript跨平台的开源框架NativeScript
Mar 24 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
js获取元素的外链样式的简单实现方法
Jun 06 Javascript
vue左侧菜单,树形图递归实现代码
Aug 24 Javascript
JS实现二维数组元素的排列组合运算简单示例
Jan 28 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
Mar 17 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
Jul 30 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
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
PHP的反射机制实例详解
2017/03/29 PHP
很可爱的输入框
2008/08/03 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
深入讲解Python编程中的字符串
2015/10/14 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
Python对List中的元素排序的方法
2018/04/01 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Python 读写文件的操作代码
2018/09/20 Python
24式加速你的Python(小结)
2019/06/13 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
What is view? why do we have view?
2012/06/22 面试题
竞选大队委员演讲稿
2014/04/28 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
行政二审代理词
2015/05/25 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
Python学习之os包使用教程详解
2022/03/21 Python
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers