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 相关文章推荐
硬盘浏览程序,保存成网页格式便可使用
Dec 03 Javascript
JQuery小知识
Oct 15 Javascript
js优化针对IE6.0起作用(详细整理)
Dec 25 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
Apr 02 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 Javascript
jsTree事件和交互以及插件plugins详解
Aug 29 Javascript
原生js实现简单的焦点图效果实例
Dec 14 Javascript
webpack 3.X学习之多页面打包的方法
Sep 04 Javascript
koa2 数据api中间件设计模型的实现方法
Jul 13 Javascript
JavaScript逻辑运算符相关总结
Sep 04 Javascript
JavaScript实现图片放大预览效果
Nov 02 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缓存技术的使用说明
2011/08/06 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
javascript 函数调用的对象和方法
2010/07/01 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python中的pack和unpack的使用
2018/03/12 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
Python 读写文件的操作代码
2018/09/20 Python
Pycharm Git 设置方法
2020/09/15 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
业务经理的岗位职责
2013/11/16 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
餐厅总厨求职信
2014/03/04 职场文书
班长演讲稿范文
2014/04/24 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
工厂车间标语
2014/06/19 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
用Python爬取某乎手机APP数据
2021/06/15 Python
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js