欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery中animate()方法用法实例教程

程序员文章站 2022-06-11 08:45:02
本文实例讲述了jquery中animate()方法用法。分享给大家供大家参考。具体分析如下: 此方法用于创建自定义动画,并且能够规定动画执行时长、擦除效果。动画完成后还可以地触发...

本文实例讲述了jquery中animate()方法用法。分享给大家供大家参考。具体分析如下:

此方法用于创建自定义动画,并且能够规定动画执行时长、擦除效果。动画完成后还可以地触发一个回调函数。

animate()方法的使用:

方式一:

以“属性名/值”对象的方式定义动画终止样式属性。例如:

代码如下:

$("p").animate( {width:"1000px"})

 

以上代码能够将p从原有的宽度调整到1000px。也可以一次性使用多组“属性名/值”对象。例如:

代码如下:

$("p").animate( {width:"1000px",fontsize:20})

 

以上代码能够将p从原有的宽度调整到1000px,从原有的字体大小调整到20px。需要特别注意以下三点:

1.如果尺寸没有单位,那么默认单位是px。
2.属性值需要用双引号包裹,如果属性值是数字的话可以省略。
3.类似font-szie或者background-color这样的属性需要去掉中间的中横线,并且第二个单词首字母要大写。

animate()方法可以明确的规定动画效果持续的时间,如果不规定则使用默认值normal。例如:

代码如下:

$("p").animate( {width:"1000px",fontsize:20},2000)

 

以上代码规定动画效果在2000毫秒(2秒)后完成。
在动画执行完成后可以调用回调函数。例如:

代码如下:

$("p").animate( {width:"1000px"},5000,function(){alert("调整完成")})

 

以上代码能够在动画完成以后触发回调函数,于是弹出一个提示框。
实例代码:

 

代码如下:


<!doctype html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.cnblogs.com/" />
<title>博客园</title>
<style type="text/css">
p{
  width:150px;
  height:150px;
  border:1px solid blue;
}
</style>
<script type="text/javascript" src="mytest/jquery/jquery-1.8.3.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){
  $("button").click(function(){
    $("p").animate( {width:"1000px",fontsize:20},5000,function(){alert("调整完成")});
  });
});
</script> 
</head>
<body>
  <p>小蚂蚁</p>
  <button id="btn1">执行个动画</button>
</body>
</html>

 

方式二:
方式一中,只有定义动画终止样式属性的时候使用大括号{},后面比如动画速度、回调函数等等都是裸露的,他们之间都是用逗号间隔。在我们将要介绍的方式二中,速度、回调函数、队列等等都要放在大括号{}中。
例如:

代码如下:

$("p").animate( {width:"1000px"}, {queue:false, duration:1000,complete:function(){alert("ok")}})

 

queue参数可以规定动画是否加入动画队列执行,如果进入动画队列,将按照顺序执行,也就是第一个动画执行完成之后,队列中的第二个动画再执行,以此类推。如果queue参数值为true就是将动画加入队列执行,否则就是不加入队列。
duration参数就是定义动画的持续时间。
complete参数定义动画的回调函数。
实例代码:

 

代码如下:


<!doctype html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.cnblogs.com/" />
<title>博客园</title>
<style type="text/css">
.first{
  width:150px;
  height:150px;
  border:1px solid blue;
}
.second{
  width:150px;
  height:150px;
  border:1px solid blue;
}
</style>
<script type="text/javascript" src="mytest/jquery/jquery-1.8.3.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){
  $("#btn1").click(function(){
    $(".first").animate({width:"1000px"},{queue:true, duration:5000,complete:function a(){alert("宽度设置完成")}})
.animate( {fontsize:'7em'},{queue:true, duration:5000})
.animate( {borderwidth:10},{queue:true, duration:5000,complete:function a(){alert("宽度设置完成")}});
  });
  
  $("#btn2").click(function(){
    $(".second").animate({width:"1000px"},{queue:false, duration:1000})
.animate( {fontsize:'7em'} , 1000 )
.animate( {borderwidth:10}, 1000);
  })
})
</script>
</head>
<body>
<p class="first">欢迎来到博客园</p>
<p class="second">欢迎来到博客园</p>
<button id="btn1">执行第一个动画</button>
<button id="btn2">执行第二个动画</button>
</body>
</html>

大家可以对比一下加入动画队列和不加入动画队列执行效果。