通过animate方法可以设置元素某属性值上的动画,可以设置一个或多个属性值,动画执行完成后会执行一个函数。

$('#div1').animate({
width:300,
height:300
},1000,'swing',function(){
alert('done!');
});

下面来写一个div放大的动画效果。


jquery animate 动画_动画效果


上面首先写好一个div,下面来使用jquery来实现放大的效果。


jquery animate 动画_jquery_02


点击动画的按钮,div的宽高就会放大。这次的放大是同时实现了​​width​​​和​​height​​的变化。

可以使用回调函数分别变化​​width​​​、​​height​​,如下:


jquery animate 动画_动画效果_03


使用​​animate​​​最后的回调函数,再执行一个​​animate​​,就可以分开运行动画效果的了。

效果如下:


jquery animate 动画_html_04

jquery animate 动画_动画效果_05


参数可以写成数字表达式:

另外除了上面动画,还可以实现一个这样的效果。
每点击按钮一次,触发动画效果,就将div的宽度增加​​​100px​​。


jquery animate 动画_html_06


实现效果如下:

  • 点击第一次触发,如下:

jquery animate 动画_html_07


  • 点击第二次触发,如下:

jquery animate 动画_jquery_08


  • 点击第三次触发,如下:

jquery animate 动画_动画效果_09


  • 代码如下:
<!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>


jquery animate 动画_jquery_10