jQuery中animate的几种用法与注意事项


Posted in Javascript onDecember 12, 2016

一、animate语法结构

animate(params,speed,callback)

params:一个包含样式属性及值的映射,比如{key1:value1,key2:value2}

speed:速度参数[可选]

callback:在动画完成时执行的函数[可选]

二、自定义简单动画

用一个简单例子来说明,实现单击某div在页面上横向飘动的效果。

<style>
 #cube{
  position:relative;/* 不加这句元素不能动 */
  width:30px;
  height:30px;
  background:red;
  cursor:pointer;
 }
</style>
<body>
 <div>
  <div id="cube"></div>
 </div>
 <script>
  $(function(){
   $("#cube").click(function(){
    $(this).animate({left:"100px"},2000)
   })
  })
 </script>

为了使元素动起来,要改变left属性。为了能影响元素top、right、bottom、left属性值必须声明元素的position。

jQuery中animate的几种用法与注意事项
演示效果

三、累加、累减动画

在之前的代码中,设置了{left:"100px"}这个属性作为参数,如果改写为{left:"+=25px"} ,效果如下

jQuery中animate的几种用法与注意事项
演示效果

四、多重动画

同时执行多个动画

上面的例子是一个很简单的动画。如果想同时执行多个动画,比如在元素向右滑动的同时,放大元素高度。

代码如下:

$(this).animate({left:"+=25px",height:"+=20px"},1000)

jQuery中animate的几种用法与注意事项

演示效果

五、按顺序执行多个动画

上例中,向右滑动与高度变大是同时发生的,如果想让方块先向右滑动再变高,只需将代码拆分

如下:

$(this).animate({left:"+=25px"},500)
  .animate({height:"+=20px"},500)

像这样的动画效果的执行有先后顺序,称为“动画队列”

jQuery中animate的几种用法与注意事项
演示效果

六、综合示例

单击方块,让他向右移动的同时增高,不透明度从50%增加到100%,之后上下移动,加宽,完成后淡出。

$("#cube").click(function(){
    $(this).animate({left:"100px",height:"100px",opacity:"1"},500)
    .animate({top:"40px",width:"100px"},500)
    .fadeOut('slow')
   })

为同一元素应用多重效果时可以通过链式方式对这些效果进行排队。

jQuery中animate的几种用法与注意事项
演示效果

七、动画回调函数

在上例中,如果想在最后一步切换css样式(background:blue),而不是淡出,如果按照通常处理,相关代码如下:

$("#cube").click(function(){
    $(this).animate({left:"100px",height:"100px",opacity:"1"},500)
    .animate({top:"40px",width:"100px"},500)
    .css("border","5px solid blue")//改动这行
   })

然而,css()方法被提前调用。

jQuery中animate的几种用法与注意事项
演示效果

引起这个问题的原因是,css()方法不会加入到动画队列中,而是立即执行。可以使用回调函数对非动画方法实现排队。

正确的相关代码如下:

$("#cube").click(function(){
    $(this).animate({left:"100px",height:"100px",opacity:"1"},500)
    .animate({top:"40px",width:"100px"},500,function(){
     $(this).css("border","5px solid blue")
    })
   })

jQuery中animate的几种用法与注意事项

演示效果

值得注意的是,callback适用于jquery所有的动画方法,比如slidDown() ,show()等。

总结

以上就是关于jquery中animate的几种用法和注意事项,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQuery优缺点分析说明
Jun 09 Javascript
js jq 单击和双击区分示例介绍
Nov 05 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
jquery获取html元素的绝对位置和相对位置的方法
Jun 20 Javascript
一个JavaScript函数把URL参数解析成Json对象
Sep 24 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
Jun 05 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
Jul 06 Javascript
浅谈vue 多个变量同时赋相同值互相影响
Aug 05 Javascript
Javascript Symbol原理及使用方法解析
Oct 22 Javascript
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
May 30 Javascript
Websocket协议详解及简单实例代码
Dec 12 #Javascript
jQuery中值得注意的trigger方法浅析
Dec 12 #Javascript
jQuery实现字符串全部替换的方法
Dec 12 #Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
Dec 12 #Javascript
简单实现jquery焦点图
Dec 12 #Javascript
javascript中setAttribute兼容性用法分析
Dec 12 #Javascript
jQuery焦点图左右转换效果
Dec 12 #Javascript
You might like
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
JavaScript函数详解
2015/02/27 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
几种tab切换详解
2017/02/03 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
Python绘制七段数码管实例代码
2017/12/20 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
解决Python3下map函数的显示问题
2019/12/04 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
党校培训思想汇报
2014/01/03 职场文书
银行求职自荐信
2014/06/30 职场文书
校长创先争优承诺书
2014/08/30 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
给老婆的道歉信
2015/01/20 职场文书
出租车拒载检讨书
2015/01/28 职场文书
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技