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 相关文章推荐
phpwind放自动注册方法
Dec 02 Javascript
javascript removeChild 使用注意事项
Apr 11 Javascript
js window.onload 加载多个函数的方法
Nov 02 Javascript
ModelDialog JavaScript模态对话框类代码
Apr 17 Javascript
利用JS来控制键盘的上下左右键(示例代码)
Dec 14 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
Dec 10 Javascript
基于JavaScript FileReader上传图片显示本地链接
May 27 Javascript
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
如何解决js函数防抖、节流出现的问题
Jun 17 Javascript
深入了解query和params的使用区别
Jun 24 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
Vue点击切换Class变化,实现Active当前样式操作
Jul 17 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
Yii框架where查询用法实例分析
2019/10/22 PHP
告诉大家什么是JSON
2008/06/10 Javascript
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
python实现报表自动化详解
2017/11/16 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
python字典与json转换的方法总结
2020/12/28 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
魅力教师事迹材料
2014/01/10 职场文书
初一体育教学反思
2014/01/29 职场文书
汉语言文学职业规划
2014/02/14 职场文书
公开承诺书格式
2014/05/21 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
2014年资料员工作总结
2014/11/18 职场文书
2014年财政局工作总结
2014/12/09 职场文书
领导工作表现评语
2015/01/04 职场文书