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