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

jquery中的动画

程序员文章站 2024-03-25 11:54:16
...

自带动画函数

show()方法和hide()方法

调用show()函数会将该元素的display属性设置为none,将元素隐藏

调用hide()函数会将该元素的display样式设置为原来的值,将元素又一次显示

Tip:

  1. 使用该方法时,元素的宽度/高度/透明度是同一时候变化的。
  2. 能够给该方法传递參数”fast”,”normal”,”slow”,或着之间填数字(单位是毫秒)控制元素消失/出现的速度。

演示样例程序:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jquery test</title>
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
  .one{
    background-color:red;
    width: 300px;
  }
  .two{
    background-color: green;
    width: 300px;
    display: none;
  }
  .three{
    background-color:yellow;
    width: 300px;
  }
</style>
</head>
<body>
<div class="one">
  网上支付入口连接
</div>
<div class="two">
  您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
</div>
<div class="three">
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
</div>
<script type="text/javascript">
  $("div.one").bind("mouseover",function(){
    $(this).next("div.two").show("slow");
  });
  $("div.one").bind("mouseout",function(){
    $(this).next("div.two").hide("slow");
  })
</script>
</body>
</html>

fadeIn()和fadeOut()方法

fadeIn()表示淡入,fadeOut()表示淡出。该函数通过控制元素的透明度来控制元素的隐藏和出现。相同能够通过传递參数的方法控制其速度。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jquery test</title>
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
  .one{
    background-color:red;
    width: 300px;
  }
  .two{
    background-color: green;
    width: 300px;
    display: none;
  }
  .three{
    background-color:yellow;
    width: 300px;
  }
</style>
</head>
<body>
<div class="one">
  网上支付入口连接
</div>
<div class="two">
  您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
</div>
<div class="three">
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
</div>
<script type="text/javascript">
  $("div.one").bind("mouseover",function(){
    $(this).next("div.two").fadeIn("slow");
  });
  $("div.one").bind("mouseout",function(){
    $(this).next("div.two").fadeOut("slow");
  })
</script>
</body>
</html>

slideDown()和slideUP()方法


slideDown()表示元素从上到下滑下出现,slideUp()表示元素从下到上滑上消失,非常像我们生活中遇到的卷帘。该函数是通过控制元素的高度来实现的元素的消失和出现。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jquery test</title>
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
  .one{
    background-color:red;
    width: 300px;
  }
  .two{
    background-color: green;
    width: 300px;
    display: none;
  }
  .three{
    background-color:yellow;
    width: 300px;
  }
</style>
</head>
<body>
<div class="one">
  网上支付入口连接
</div>
<div class="two">
  您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
    您已经建立了宽带上网的连接。
  假设您想继续使用宽带上网的功能,请不要关闭本窗体.
  假设您想断开连接,请单击<下线>button。
</div>
<div class="three">
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
  本时钟仅供參考,不作为计费根据。
</div>
<script type="text/javascript">
  $("div.one").bind("mouseover",function(){
    $(this).next("div.two").slideDown("slow");
  });
  $("div.one").bind("mouseout",function(){
    $(this).next("div.two").slideUp("slow");
  })
</script>
</body>
</html>

自己定义动画函数

animate(paras , speed , callback);

这三个參数各自是:包括目标样式属性的映射,速度參数(可选),在动画完毕时运行的动作(可选)

自己定义简单动画:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jquery test</title>
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
  .one{
    position: relative;
    width: 300px;
    height: 300px;
    background-color:red;
    cursor: pointer;
  }
</style>
</head>
<body>
<div class="one">
  网上支付入口连接
</div>
<script type="text/javascript">
  $("div.one").click(function(){
    $(this).animate({left:($(document.body).width()-$(this).width())},3000);
  });
</script>
</body>
</html>

上面的代码演示的是:当用户点击div以后,该div就会从页面的左边移动到右边。


同一时候运行多个动画:

事实上就是在第一个參数设置不止一个属性,让元素的多个属性同一时候变化。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jquery test</title>
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
  .one{
    position: relative;
    width: 300px;
    height: 300px;
    background-color:red;
    cursor: pointer;
  }
</style>
</head>
<body>
<div class="one">
  网上支付入口连接
</div>
<script type="text/javascript">
  $("div.one").click(function(){
    $(this).animate({left:($(document.body).width()-$(this).width())},3000)
           .animate({height:"500px"},3000)
           .animate({opacity:"0.5"},3000);
  });
</script>
</body>
</html>

上面的代码演示结果与上一个样例的终于结果是一样的,可是div的位置,高度,透明度三个属性的变化不是同一时候发生,而是依次变化的,而且每个动作都耗时3000毫秒,一共用时9000毫秒。

 

动画回调函数:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jquery test</title>
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
  .one{
    position: relative;
    width: 300px;
    height: 300px;
    background-color:red;
    cursor: pointer;
  }
  .two{
    font-size: 30px;
    color: green;
    text-decoration: underline;
  }
</style>
</head>
<body>
<div class="one">
  网上支付入口连接
</div>
<script type="text/javascript">
  function fun(){
    var $content = $("<ul><li>test one</li><li>test two</li><li>test three</li></ul>");
    var $target = $("div.one");
    $target.append($content).addClass("two");
  } 
  $("div.one").click(function(){
    $(this).animate({left:($(document.body).width()-$(this).width())},3000)
           .animate({height:"500px"},3000)
           .animate({opacity:"0.5"},3000,function(){
            fun();
           });
  });
</script>
</body>
</html>

动画回掉函数的作用是将函数插入动画队列,而不是在动画的一開始就运行。

上面代码中的fun函数就是在动画队列中的第三个动画运行结束之后,再运行的。