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 相关文章推荐
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
Dec 06 Javascript
javascript 图片上传预览-兼容标准
Jun 01 Javascript
js 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
按钮接受回车事件的三种实现方法
Jun 06 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
JS实现的自定义右键菜单实例二则
Sep 01 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
Mar 01 Javascript
Node.js模块封装及使用方法
Mar 06 Javascript
vue中v-model的应用及使用详解
Jun 27 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
Aug 02 Javascript
React项目动态设置title标题的方法示例
Sep 26 Javascript
vue实现列表垂直无缝滚动
Apr 08 Vue.js
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实现WEB动态网页静态
2006/10/09 PHP
测试php函数的方法
2013/11/13 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
js判断变量是否空值的代码
2008/10/26 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
基于python plotly交互式图表大全
2019/12/07 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
视光学专业毕业生推荐信
2013/10/28 职场文书
绝对经典成功的大学生推荐信
2013/11/08 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
家长通知书家长评语
2014/04/17 职场文书
如何写求职信
2014/05/24 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
高中社区服务活动报告
2015/02/05 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
运动员代表致辞
2015/07/29 职场文书
九年级历史教学反思
2016/02/19 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android