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 相关文章推荐
Prototype使用指南之string.js
Jan 10 Javascript
用apply让javascript函数仅执行一次的代码
Jun 27 Javascript
jQuery 1.8 Release版本发布了
Aug 14 Javascript
javascript事件委托的方式绑定详解
Jun 10 Javascript
js 提交form表单和设置form表单请求路径的实现方法
Oct 25 Javascript
BootstrapValidator超详细教程(推荐)
Dec 07 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
Dec 25 Javascript
js 判断登录界面的账号密码是否为空
Feb 08 Javascript
JS正则表达式判断有效数实例代码
Mar 13 Javascript
浅谈Angular路由复用策略
Oct 04 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
Js代码中的span拼接问题解决
Nov 22 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
php分页代码学习示例分享
2014/02/20 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
js onload事件不起作用示例分析
2013/10/09 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
详解jQuery事件
2017/01/13 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
python 图片验证码代码分享
2012/07/04 Python
Python的高级Git库 Gittle
2014/09/22 Python
21行Python代码实现拼写检查器
2016/01/25 Python
全面理解Python中self的用法
2016/06/04 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
如何教少儿学习Python编程
2020/07/10 Python
python代码实现图书管理系统
2020/11/30 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
安全伴我行演讲稿
2014/09/04 职场文书
综治维稳工作汇报
2014/10/27 职场文书
评先进个人材料
2014/12/29 职场文书
晚会开幕词范文
2016/03/04 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript