浅谈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 animate easing的具体使用方法(推荐)全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
JavaScript动态调整TextArea高度的代码
Dec 28 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
Aug 27 Javascript
JavaScript极简入门教程(二):对象和函数
Oct 25 Javascript
浅析Bootstrap缩略图组件与警示框组件
Apr 29 Javascript
浅析Bootstrap表格的使用
Jun 23 Javascript
JavaScript字符集编码与解码详谈
Feb 02 Javascript
微信小程序实现tab页面切换功能
Jul 13 Javascript
axios简单实现小程序延时loading指示
Jul 30 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
Dec 09 Javascript
基于vue通用表单解决方案的思考与分析
Mar 16 Javascript
JavaScript 装逼指南(js另类写法)
May 10 Javascript
JavaScript实现单点登录的示例
Sep 23 Javascript
jQuery animate easing使用方法图文详解
Jun 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
You might like
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
php中this关键字用法分析
2016/12/07 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
简单了解python变量的作用域
2019/07/30 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
python随机数分布random均匀分布实例
2019/11/27 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
您的健身减肥和健康饮食专家:vitafy
2017/06/06 全球购物
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
文秘自荐信
2013/10/20 职场文书
授权委托书格式模板
2014/04/03 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
家长通知书家长意见
2015/06/03 职场文书
清洁工工作总结
2015/08/11 职场文书
护理工作心得体会
2016/01/22 职场文书
MySQL优化及索引解析
2022/03/17 MySQL