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 相关文章推荐
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
Jul 13 Javascript
一些老手都不一定知道的JavaScript技巧
May 06 Javascript
jQuery下拉框的简单应用
Jun 24 Javascript
Angular2安装angular-cli
May 21 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
JavaScript数组去重的多种方法(四种)
Sep 19 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
Vue 子组件与数据传递问题及注意事项
Jul 11 Javascript
基于vue、react实现倒计时效果
Aug 26 Javascript
Vue使用mixin分发组件的可复用功能
Sep 01 Javascript
JavaScript和TypeScript中的void的具体使用
Sep 12 Javascript
浅谈layui里的上传控件问题
Sep 26 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函数之日期时间函数date()使用详解
2013/09/09 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
javascript实现yield的方法
2013/11/06 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
js实现交通灯效果
2017/01/13 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
babel基本使用详解
2017/02/17 Javascript
JS闭包的几种常见形式实例详解
2017/09/16 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
spyder常用快捷键(分享)
2017/07/19 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
简单了解python协程的相关知识
2019/08/31 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
作风建设年度心得体会
2014/10/29 职场文书
赔偿协议书
2015/01/27 职场文书
民主生活会意见
2015/06/05 职场文书
放假通知怎么写
2015/08/18 职场文书