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 相关文章推荐
JS 中document.URL 和 windows.location.href 的区别
Nov 11 Javascript
网页图片延时加载的js代码
Apr 22 Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 Javascript
js实现正方形颜色从下往上升的效果
Aug 04 Javascript
jQuery中get()方法用法实例
Dec 27 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
Mar 09 Javascript
详解Angular2 关于*ngFor 嵌套循环
May 22 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
Apr 11 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
Oct 11 Javascript
jquery实现吸顶导航效果
Jan 08 jQuery
在vue中配置不同的代理同时访问不同的后台操作
Sep 11 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
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
php中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
PHP CURL使用详解
2019/03/21 PHP
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
JavaScript实现省市区三级联动
2020/02/13 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python端口扫描系统实现方法
2014/11/19 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
python实现函数极小值
2019/07/10 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
Python 从attribute到property详解
2020/03/05 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
关于廉洁的广播稿
2014/01/30 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang