通过animate方法可以设置元素某属性值上的动画,可以设置一个或多个属性值,动画执行完成后会执行一个函数。
$('#div1').animate({
width:300,
height:300
},1000,'swing',function(){
alert('done!');
});
下面来写一个div放大的动画效果。
上面首先写好一个div,下面来使用jquery来实现放大的效果。
点击动画的按钮,div的宽高就会放大。这次的放大是同时实现了width
和height
的变化。
可以使用回调函数分别变化
width
、height
,如下:
使用animate
最后的回调函数,再执行一个animate
,就可以分开运行动画效果的了。
效果如下:
参数可以写成数字表达式:
另外除了上面动画,还可以实现一个这样的效果。
每点击按钮一次,触发动画效果,就将div的宽度增加100px
。
实现效果如下:
- 点击第一次触发,如下:
- 点击第二次触发,如下:
- 点击第三次触发,如下:
- 代码如下:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery-3.4.0.min.js"></script>
<script type="text/javascript">
$(function(){
$('input').click(function(){
$('div').animate({
'width': '+=100'
},1000,'swing',function(){
$('div').animate({
'height': '+=100'
},1000,'swing')
})
})
})
</script>
<style type="text/css">
div{
width: 100px;
height: 100px;
border:1px solid #ccc;
border-radius: 15px;
background-color: gold;
}
</style>
</head>
<body>
<input type="button" name="" value="动画">
<div></div>
</body>
</html>