1 动画的原理就是: 盒子本身的位置+步长

2 什么是步长?

var box=document.getElementById('box'); 

btn.onclick = function()
{
//最基本的运动
setInterval('move(box)',30);
}
//最初级的匀速运动
// 数学公式: s=s+s'
function move(obj){
obj.style.left=obj.offsetLeft+speed+'px';
}

3 jQuery animate()  方法用于创建自定义动画。

$(selector).animate({params},speed,callback);

必需的 params 参数定义形成动画的 CSS 属性。

可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

可选的 callback 参数是动画完成后所执行的函数名称。

下面的例子演示 animate() 方法的简单应用。它把 <div> 元素往右边移动了 250 像素:

$("button").click(function(){
$("div").animate({left:'100px'});
});

4 jQuery animate() - 操作多个属性

$("button").click(function(){
$("div").animate({
left:'250px',
opacity:'0.5',
height:'150px',
width:'150px'
});
});

5 jQuery animate() - 使用队列功能

默认地,jQuery 提供针对动画的队列功能。

这意味着如果您在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用的"内部"队列。然后逐一运行这些 animate 调用。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
var div=$("div");
div.animate({height:'300px',opacity:'0.4'},"slow");
div.animate({width:'300px',opacity:'0.8'},"slow");
div.animate({height:'100px',opacity:'0.4'},"slow");
div.animate({width:'100px',opacity:'0.8'},"slow");
});
});
</script>
</head> <body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div> </body>
</html>

6 jQuery animate() - 使用预定义的值

可以把属性的动画值设置为 "show"、"hide" 或 "toggle":

$("button").click(function(){
$("div").animate({
height:'toggle'
});
});

7 jQuery animate() - 使用相对值

也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=:

$("button").click(function(){
$("div").animate({
left:'250px',
height:'+=150px',
width:'+=150px'
});
});

最新文章

  1. JAG Summer 2012 Day 4 C Connect
  2. 对teacher表进行增加,删除,修改
  3. telnet连接ip
  4. Memcached和Redis对比和适用场景
  5. android中的坐标系以及获取坐标的方法
  6. 接收POst数据流数据
  7. v3学院带你一次性认清UART、RS-232、RS-422、RS-485的区别
  8. jQuery实现图片懒加载
  9. kubernetes 开发 code-generator
  10. (转)使用 Spring缓存抽象 支持 EhCache 和 Redis 混合部署
  11. Java NIO 机制分析(一) Java IO的演进
  12. 第一阶段——站立会议总结DAY05
  13. 【Mysql】MySQL高效获取记录总数SQL_CALC_FOUND_ROWS
  14. JavaScript基础数据类型
  15. 51nod 1307 绳子与重物(并查集水了一发)
  16. C#操作Excel(创建、打开、读写、保存)几种方法的总结
  17. 【BZOJ1069】【SCOI2007】最大土地面积
  18. python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda
  19. IOS NSNotification Center 通知中心的使用
  20. InnoDB高并发原理

热门文章

  1. node.js 获取客户端信息
  2. 【游记】noip2017酱油记
  3. MariaDB主从半同步复制详解
  4. c++ 搜索二叉树 插入,删除,遍历操作
  5. OD 实验(十) - 对一个 VB 程序的逆向
  6. python中的json的基本使用方法
  7. Spring -- &lt;context:component-scan&gt;使用说明
  8. Spring高级话题-@Enable***注解的工作原理
  9. Console2支援中文顯示的正式設定法
  10. MySQL 主从同步失败,数据表修复