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 轻松支持函数重载 (Part 2 - 实现)
Aug 04 Javascript
jquery 插件实现图片延迟加载效果代码
Feb 06 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
Oct 08 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
Dec 24 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
Mar 25 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 Javascript
javascript html5摇一摇功能的实现
Apr 19 Javascript
一个仿微博登陆邮箱提示框js开发案例
Jul 28 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
Angular4 Select选择改变事件的方法
Oct 09 Javascript
Vue-Cli项目优化操作的实现
Oct 27 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
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
python错误处理详解
2014/09/28 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
Python实现FM算法解析
2019/06/18 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
加拿大探亲邀请信
2014/01/28 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
行政专员求职信范文
2014/05/03 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
董事长助理岗位职责
2015/02/11 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
Java SSM配置文件案例详解
2021/08/30 Java/Android