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与jquery下Ajax实现的差别
Sep 13 Javascript
js操作textarea 常用方法总结
Dec 03 Javascript
Jquery post传递数组方法实现思路及代码
Apr 28 Javascript
原生js事件的添加和删除的封装
Jul 01 Javascript
详解angularJs中自定义directive的数据交互
Jan 13 Javascript
移动端刮刮乐的实现方式(js+HTML5)
Mar 23 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
Apr 18 Javascript
Node.js实现文件上传的示例
Jun 28 Javascript
LayerClose弹窗关闭刷新方法
Aug 17 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
layui使用及简单的三级联动实现教程
Dec 01 Javascript
Javascript中async与await的捕捉错误详解
Mar 03 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
header()函数使用说明
2006/11/23 PHP
php的ddos攻击解决方法
2015/01/08 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
python绘图库Matplotlib的安装
2014/07/03 Python
Python实现截屏的函数
2015/07/26 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
Pycharm调试程序技巧小结
2020/08/08 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
抽象方法、抽象类怎样声明
2014/10/25 面试题
毕业生个人求职的自我评价
2013/10/28 职场文书
日语求职信范文
2013/12/17 职场文书
玲玲的画教学反思
2014/02/04 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
室内设计专业自荐信
2014/05/31 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
上帝也疯狂观后感
2015/06/09 职场文书