最近在学习jQuery,看到一个很有意思的函数animate(),但是在网上却没有查到相关的详细资料,于是打算参考jQuery API,自己总结一下。

概述

animate() 方法执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。

用法一

$(selector).animate({styles},speed,easing,callback) //创建自定义动画

styles: 必需,定义形成动画的css属性。需要使用驼峰法书写所有的属性名,如paddingLeft而不是padding-left。也可以定义相对值,即相对于元素当前值做改变。需要在指的前面加上 +=或者-=。还可以使用预定义值,属性的动画值设置为 show/hide/toggle。

speed: 可选,定义效果的时长。可取值slow、normal(默认)、fast 或者毫秒数。

easiing: 可选,定义在不同动画点中设置动画速度。内置的easing函数有:swing(缓冲,默认值)、linear(匀速),可通过js文件扩展。

callback:可选,定义在动画完成后所执行的函数名称。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义动画animate()</title>
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){
$('button').click(function(){
$('div').animate({
height:"300px",
width:"+=100px", // 相对值
//:"width":"hide" //预定义值
},
"slow",
"linear",
function(){
alert("高度为:"+ $("div").height())
});
});
}) </script> <body>
<button>开始动画</button>
<!-- 默认所有的HTML 元素都有一个静态位置,且无法移动。如需要对位置进行操作,要先把元素的position属性 -->
<div style="background:red;height:100px;width:100px;position:absolute;">
</div> </body>
</html>

用法二

$(selector).animate({styles},{options})

styles: 必需,定义形成动画的css属性。用法同上

optins: 可选,定义动画的额外选项。

  可能的值有:

    speed:设置动画的速度。

    easing:定义要使用的easing函数。

    callback:定义动画完成后要执行的函数。

    step:定义动画的每一步完成后要执行的函数。

    queue:布尔值,指示是否在效果队列中放置动画。如果为false,则动画将立即开始。

    specialEasing:定义styles参数的一个或多个 CSS 属性的映射,以及他们对应的 easing 函数。

其他几个与上面的用法类似,主要来看看 step 和 queue 。

默认地,jQuery 提供针对动画的队列功能。这意味着如果编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。然后逐一运行这些 animate 调用。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义动画animate()</title>
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
</head>
<style type="text/css">
div {
background-color: #bca;
width: 200px;
height: 1.1em;
text-align: center;
border: 2px solid green;
margin: 3px;
font-size: 14px;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$('#first').click(function(){
// 默认地,动画会依次执行
$('#div1').animate({height:"200px"})
.animate({width:"+=100px"},"slow")
.animate({fontSize:"50px"},"slow");
});
$('#second').click(function(){
// 第一个动画不在队列中,则前两个一起执行
$('#div2').animate({height:"200px"},{queue:false})
.animate({width:"+=100px"},"slow")
.animate({fontSize:"50px"},"slow");
});
});
</script> <body>
<button id="first">div1</button>
<button id="second">div2</button>
<div id="div1">div1</div>
<div id="div2">div2</div>
</body>
</html>

未完待续。。。

jQuery之animate()用法的更多相关文章

  1. jQuery中Animate进阶用法(一)

    jQuery中animate的用法你了解多少呢?如果仅仅是简单的移动位置,显示隐藏,哦!天哪你在浪费资源!因为animate太强大了,你可以有很多意想不到的用法!让我们一起研究一下吧~~ 首先要了解j ...

  2. jQuery中animate()方法用法实例

    本文实例讲述了jQuery中animate()方法用法.分享给大家供大家参考.具体分析如下: 此方法用于创建自定义动画,并且能够规定动画执行时长.擦除效果.动画完成后还可以地触发一个回调函数. ani ...

  3. Jquery remove 高级用法

    Jquery remove 高级用法 html 代码 <div class="file-image">abc1111</div><div class= ...

  4. jquery.cookie.js 用法

    jquery.cookie.js 用法   一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 j ...

  5. jQuery $.post $.ajax用法

    jQuery $.post $.ajax用法 jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数: url (Stri ...

  6. jQuery包裹节点用法完整示例

    本文实例讲述了jQuery包裹节点用法.分享给大家供大家参考,具体如下: <html> <head> <meta http-equiv="Content-Typ ...

  7. jQuery的animate方法在IE8下出现小问题

    今天修改网站的bug,把网页显示的几张图片给做成左右滑动的动画效果: 由于本身有一个demo可供参考,然后在此基础上进行修改,所以很快就搞定了,然后在chrome,firefox,IE9下分别进行测试 ...

  8. jQuery的animate在火狐浏览器上不支持backgroundPositionX的解决方法

    在网上找的ffSupp.js文件 /** * 自定义backgroundPosition的animate,支持火狐,jQuery1.8以上版本 * @author Meleong * v1.00 */ ...

  9. jQuery中animate动画第二次点击事件没反应

    jQuery中animate动画第二次点击事件没反应 用animate做点击翻页动画时发现第二次点击事件动画没反应,而第一次点击有动画效果,代码如下: 复制代码 代码如下: $(".page ...

随机推荐

  1. Dynamics AX 中的图片处理

    1.从本地读取图片文件,并判断格式是否附合要求. FilenameFilter filter = [‘Image Files‘,‘*.bmp;*.jpg;*.gif;*.jpeg‘]; BinData ...

  2. Python用HTMLTestRunner生成html测试报告

    小编的主机:mac 一.引入HTMLTestRunner包 1.下载HTMLTestRunner.py,已上传到网盘,点击下载 2.将HTMLTestRunner.py复制到python安装目录的Li ...

  3. bower简明入门教程

    什么是bower: Bower是一个客户端技术的软件包管理器,它可用于搜索.安装和卸载如JavaScript.HTML.CSS之类的网络资源.其他一些建立在Bower基础之上的开发工具,如YeoMan ...

  4. Django的MVT模式与MVC模式

    Django的MVT模式与MVC模式 在正式开始coding之前,我觉得有必要探讨下Django的MVT模式,理论和实践相结合,才能更好的掌握一门技术.Django中的MVT模式,Django就是属于 ...

  5. Spring RestTemplate get post 请求 携带 headers

    RestTemplate 1.我用RestTemplate请求时 我把他注入到容器里  这样可以 什么用什么时候拿 2.也可以new出来 不过我不喜欢 所以就没有用new的 下面我自己的方法   先注 ...

  6. 转发:RSA实现JS前端加密,PHP后端解密

    web前端,用户注册与登录,不能直接以明文形式提交用户密码,容易被截获,这时就引入RSA. 前端加密 需引入4个JS扩展文件,jsbn.js.prng4.js.rng.js和rsa.js. <h ...

  7. 如何在Ubuntu上安装LAMP服务器系统?

    在Ubuntu上安装LAMP Ubuntu的开发人员让人们很容易安装和配置LAMP软件包,只要借助一个终端命令.所以,打开终端窗口,让我们开始入手吧. sudo apt-get install lam ...

  8. MySQL 多表结构的创建与分析

    =====================多对一===================== create table press( id int primary key auto_increment, ...

  9. 深入C#

     深入C# String类 C#中的String类他是专门处理字符串的(String),他在System的命名空间下,在C#中我们使用的是string 小写的string只是大写的String的一个别 ...

  10. python PyInstaller 库

    https://www.cnblogs.com/gopythoner/p/6337543.html https://www.cnblogs.com/duan-qs/p/6548875.html htt ...