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 相关文章推荐
给moz-firefox下添加IE方法和属性
Apr 10 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
Feb 04 Javascript
js选取多个或单个元素的实现代码(用class)
Aug 22 Javascript
JSON相关知识汇总
Jul 03 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 Javascript
BootStrap中的表单大全
Sep 07 Javascript
JS之相等操作符详解
Sep 13 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
Nov 21 Javascript
js学使用setTimeout实现轮循动画
Jul 17 Javascript
this.$toast() 了解一下?
Apr 18 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
Feb 16 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
js实现动态时钟
2020/03/12 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
Python矩阵常见运算操作实例总结
2017/09/29 Python
Sublime开发python程序的示例代码
2018/01/24 Python
python生成n个元素的全组合方法
2018/11/13 Python
Python线程之定位与销毁的实现
2019/02/17 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
实习生自荐信范文分享
2013/11/27 职场文书
实习指导老师评语
2014/04/26 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
诚信贷款承诺书
2014/05/30 职场文书
庆国庆活动总结
2014/08/28 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
关于军训的感想
2015/08/07 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技
Moment的feature导致线上bug解决分析
2022/09/23 Javascript