animate() 方法执行 CSS 属性集的自定义动画。
该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。
只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title></title>
<style>
p {
color: red;
}
div{
width:200px;
height: 100px;
background-color: yellow;
color:red;
}
</style>
<script src="../Jquery/jquery-3.3.1.js"></script>
</head>
<body>
<h2>animate(上)</h2>
<p>慕课网,专注分享</p>
<div id="aaron" style="border:1px solid red">内部动画</div>
点击观察动画效果:
<select id="animation">
<option value="1">动画1</option>
<option value="2">动画2</option>
<option value="3">动画3</option>
<option value="4">动画4</option>
</select>
<input id="exec" type="button" value="执行动画">
<script type="text/javascript">
/**
* animate()方法允许我们在任意的数值的CSS属性上创建动画。
* 2种语法使用,几乎差不多了,唯一必要的属性就是一组CSS属性键值对。
*
* 注意每个css属性后面都有个逗号!!!!
*
*
*
* 一个或多个css属性的键值对所构成的Object对象。要特别注意所有用于动画的属性必须是数字的!!!!!
*/
$("#exec").click(function() {
var v = $("#animation").val();
var $aaron = $("#aaron");
if (v == "1") {
// 数值的单位默认是px
$aaron.animate({//css属性是一组,需要用大括号扩起来
width :300,
height :300
},3000,function () {
alert("完毕")
});
} else if (v == "2") {
// 在现有高度的基础上增加100px
$aaron.animate({
width : "+=100px",
height : "+=100px"
});
} else if (v == "3") {
$aaron.animate({
fontSize: "5em"
}, 2000, function() {
alert("动画 fontSize执行完毕!");
});
} else if (v == "4") {
//通过toggle参数切换高度
$aaron.animate({
// width: "toggle" , //在此利用宽度来隐藏元素
borderWidth: "6px" //加边框
});
}
});
</script>
</body>
</html>
原文:https://www.cnblogs.com/lreing/p/9427870.html