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 相关文章推荐
JavaScript OOP面向对象介绍
Dec 02 Javascript
JavaScript 选中文字并响应获取的实现代码
Aug 28 Javascript
解决jquery的datepicker的本地化以及Today问题
May 23 Javascript
javascrip关于继承的小例子
May 10 Javascript
jQuery中阻止冒泡事件的方法介绍
Apr 12 Javascript
jquery通过closest选择器修改上级元素的方法
Mar 17 Javascript
JSON遍历方式实例总结
Dec 07 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
通过构造函数实例化对象的方法
Jun 28 Javascript
JS数组操作之增删改查的简单实现
Aug 21 Javascript
浅谈webpack编译vue项目生成的代码探索
Dec 11 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 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调用三种数据库的方法(2)
2006/10/09 PHP
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
MySQL最常见的操作语句小结
2015/05/07 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
小学生新学期寄语
2014/01/19 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
社区交通安全实施方案
2014/03/22 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
电台广播稿范文
2015/08/19 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
python 爬取豆瓣网页的示例
2021/04/13 Python