浅谈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 相关文章推荐
JQuery与iframe交互实现代码
Dec 24 Javascript
append和appendTo的区别以及appendChild用法
Dec 24 Javascript
node.js中使用node-schedule实现定时任务实例
Jun 03 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
Oct 17 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
Jan 18 Javascript
JS简单测试循环运行时间的方法
Sep 04 Javascript
Angular.Js中ng-include指令的使用与实现
May 07 Javascript
JavaScript之DOM_动力节点Java学院整理
Jul 03 Javascript
webpack3+React 的配置全解
Aug 21 Javascript
node的process以及child_process模块学习笔记
Mar 06 Javascript
layui table设置前台过滤转义等方法
Aug 17 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
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
解决中英文字符串长度问题函数
2007/01/16 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
BootStrap中
2016/12/10 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
中国旅游网站:途牛旅游网
2019/09/29 全球购物
违反学校规定检讨书
2014/01/18 职场文书
餐饮投资计划书
2014/04/25 职场文书
中华魂演讲稿
2014/05/13 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
机关职员工作检讨书
2014/10/23 职场文书
爱的教育读书笔记
2015/06/26 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
高一作文之暖冬
2019/11/09 职场文书