JQuery动画详解(四)

一:基本动画
show()
显示隐藏的匹配元素。
这个就是 ‘show( speed, [callback] )‘ 无动画的版本。如果选择的元素是可见的,这个方法将不会改变任何东西。无论这个元素是通过hide()方法隐藏的还是在CSS里设置了display:none;,这个方法都将有效。
返回值
jQuery
示例
显示所有段落
HTML 代码:
<p style="display: none">Hello</p>
jQuery 代码:
$("p").show()

show(speed,[callback])
以优雅的动画显示所有匹配的元素,并在显示完成后可选地触发一个回调函数。
可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (Optional) 在动画完成时执行的函数,每个元素执行一次。
示例
用缓慢的动画将隐藏的段落显示出来,历时600毫秒。
HTML 代码:
<p style="display: none">Hello</p>
jQuery 代码:
$("p").show("slow");

用迅速的动画将隐藏的段落显示出来,历时200毫秒。并在之后执行反馈!
HTML 代码:
<p style="display: none">Hello</p>
jQuery 代码:
$("p").show("fast",function(){
   $(this).text("Animation Done!");
 });
将隐藏的段落用将近4秒的时间显示出来。。。并在之后执行一个反馈。。。
HTML 代码:
<p style="display: none">Hello</p>
jQuery 代码:
$("p").show(4000,function(){
  $(this).text("Animation Done...");
 });

hide()
隐藏显示的元素
这个就是 ‘hide( speed, [callback] )‘ 的无动画版。如果选择的元素是隐藏的,这个方法将不会改变任何东西。
返回值
jQuery
示例
隐藏所有段落
jQuery 代码:
$("p").hide()

hide(speed,[callback])
以优雅的动画隐藏所有匹配的元素,并在显示完成后可选地触发一个回调函数。
可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。
返回值
jQuery
参数
speed (String,Number) :三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (FunctionFunction) : (Optional) 在动画完成时执行的函数,每个元素执行一次。

示例
用600毫秒的时间将段落缓慢的隐藏
jQuery 代码:
$("p").hide("slow");
用200毫秒将段落迅速隐藏,之后弹出一个对话框。
jQuery 代码:
$("p").hide("fast",function(){   alert("Animation Done."); });

toggle()
切换元素的可见状态。
如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
返回值
jQuery
示例
切换所有段落的可见状态。
HTML 代码:
<p>Hello</p><p style="display: none">Hello Again</p>
jQuery 代码:
$("p").toggle()
结果:
<p tyle="display: none">Hello</p><p style="display: block">Hello Again</p>
代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>详解jQuery动画</title>
<style type="text/css">
p
{
	width:200px;
	height:200px;
	background-color:Red;
	border-style:solid
}
</style>
 <!--   引入jQuery -->
    <script src="../scripts/jquery-1.2.6.js" type="text/javascript"></script>
    <script src="../scripts/jquery-1.2.6-vsdoc-cn.js" type="text/javascript"></script>

 <script type="text/javascript">
     $(document).ready(function() {
                 $("#btn1").toggle(function() {

                     $("p").show(2000, function() {
                         $("#btn1").val("hide");
                     });
                 },
                 function() {
                     $("p").hide(2000, function() {
                         $("#btn1").val("show");
                     })
                 }
                 );

         $("#btn1").click(function() {
             $("p").toggle(2000);
         });

         $("#btn2").click(function() {
             $("p").slideDown(2000, function() { alert("ok"); });
         });

         $("#btn3").click(function() {
             $("p").slideUp(2000, function() { alert("ok"); });
         });

         $("#btn4").click(function() {
             $("p").slideToggle(2000, function() { alert("ok"); });
         });
         $("#btn5").click(function() {
             $("p").fadeIn(2000, function() { alert("ok"); });
         });
         $("#btn6").click(function() {
             $("p").fadeOut("slow", function() { alert("ok"); });
         });
         $("#btn7").click(function() {
             $("p").fadeTo("slow",0.66, function() { alert("ok"); });
         });

         $("#btn8").click(function() {
            $("p").animate({
             width: "90%",
             height: "100%",
             fontSize: "10em",
              borderWidth: 10
              }, 1000 );
            }); 

     })

  </script>
</head>
<body >
<p style="display:none">Hellow!</p>
<input type="button" id="btn1" value="Show" />
<input type="button" id="btn2" value="SolidDown" />
<input type="button" id="btn3" value="SolidUp" />
<input type="button" id="btn4" value="SolidToggle" />
<input type="button" id="btn5" value="fadeIn" />
<input type="button" id="btn6" value="fadeOut" />
<input type="button" id="btn7" value="fadeTo" />
<input type="button" id="btn8" value="Animate" />
</body>
</html>

二: jQuery中的滑动
slideDown(speed,[callback])
通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。
这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式显示出来。
返回值
jQuery
参数
speed (String,Number) :三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (FunctionFunction) : (可选) 在动画完成时执行的函数

示例
用600毫秒缓慢的将段落滑下
jQuery 代码:
$("p").slideDown("slow");
用200毫秒快速将段落滑下,之后弹出一个对话框
<p style="display: none;width:200px;height:200px;">Hello</p>
jQuery 代码:
$("p").slideDown("fast",function(){
  alert("Animation Done.");
 });

slideUp(speed,[callback])
通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。
这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏起来。
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (可选) 在动画完成时执行的函数

示例
用600毫秒缓慢的将段落滑上
jQuery 代码:
$("p").slideUp("slow");
用200毫秒快速将段落滑上,之后弹出一个对话框
jQuery 代码:
$("p").slideUp("fast",function(){
   alert("Animation Done.");
 });

slideToggle(speed,[callback])
通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。
这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏或显示。
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落滑上或滑下
jQuery 代码:
$("p").slideToggle("slow");
用200毫秒快速将段落滑上或滑下,之后弹出一个对话框
jQuery 代码:
$("p").slideToggle("fast",function(){
  alert("Animation Done.");
});

三:jQuery中淡入淡出效果

fadeIn(speed,[callback])

通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。

这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。

返回值

jQuery

参数

speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)

callback (Function) : (Optional) (可选) 在动画完成时执行的函数

示例
用600毫秒缓慢的将段落淡入
jQuery 代码:
$("p").fadeIn("slow");
用200毫秒快速将段落淡入,之后弹出一个对话框
jQuery 代码:
$("p").fadeIn("fast",function(){
  alert("Animation Done.");
 });

fadeOut(speed,[callback])
通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。
这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。
返回值
jQuery
参数
speed (String,Number) :三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)

callback (Function) :(可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落淡出
jQuery 代码:
$("p").fadeOut("slow");
用200毫秒快速将段落淡出,之后弹出一个对话框
jQuery 代码:
$("p").fadeOut("fast",function(){
   alert("Animation Done.");
 });

fadeTo(speed,opacity,[callback])
把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数。
这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
opacity (Number) : 要调整到的不透明度值(0到1之间的数字).
callback (Function) : (可选) 在动画完成时执行的函数

示例
用600毫秒缓慢的将段落的透明度调整到0.66,大约2/3的可见度
jQuery 代码:
$("p").fadeTo("slow", 0.66);
用200毫秒快速将段落的透明度调整到0.25,大约1/4的可见度,之后弹出一个对话框
jQuery 代码:
$("p").fadeTo("fast", 0.25, function(){
   alert("Animation Done.");
});

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>详解jQuery动画</title>
<style type="text/css">
p
{
	width:200px;
	height:200px;
	background-color:Red;
	border-style:solid
}
</style>
 <!--   引入jQuery -->
    <script src="../scripts/jquery-1.2.6.js" type="text/javascript"></script>
    <script src="../scripts/jquery-1.2.6-vsdoc-cn.js" type="text/javascript"></script>

 <script type="text/javascript">
     $(document).ready(function() {

         $("#btn1").click(function() {
             $("p").animate({ left: ‘+200px‘ }, "slow");

         })

         $("#btn2").click(function() {
             $("p").animate({ left: ‘-200px‘ }, "slow");

         })

         $("#btn3").click(function() {

             $("p").animate({ height: ‘toggle‘, opacity: ‘toggle‘ }, "slow");
         })

        $("#btn4").click(function() {

            $("#p2").animate({ left: 200, opacity: ‘show‘ }, { duration: 500 });
         })
     })

  </script>
</head>
<body >
<p id="p1" style="display: block;left:20px;top:40px;position:absolute;width:200px;height:200px;background-color:Red;border-style:solid;border-width:1px;border-color:Black;">Hello</p>
<p id="p2" style="display: none;left:20px;top:40px;position:absolute;width:200px;height:200px;background-color:Red;border-style:solid;border-width:1px;border-color:Black;">Hello</p> 

<input type="button" id="btn1" value="Right" />
<input type="button" id="btn2" value="Left" />

<input type="button" id="btn3" value="Toggle" />
<input type="button" id="btn4" value="Show" />
</body>
</html>

四:jQuery中的自定义动画
animate(params[,duration[,easing[,callback]]])
用于创建自定义动画的函数。
这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。 注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left.
而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。
在 jQuery 1.2 中,你可以使用 em 和 % 单位。另外,在 jQuery 1.2 中,你可以通过在属性值前面指定 "+=" 或 "-=" 来让元素做相对运动。
返回值
jQuery
参数
params (Options) : 一组包含作为动画属性和终值的样式属性和及其值的集合
duration (String,Number) : (可选) 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (可选) 在动画完成时执行的函数

示例1
点击按钮后div元素的几个不同属性一同变化
HTML 代码:
<button id="go"> Run</button>
<div id="block">Hello!</div>
jQuery 代码:
// 在一个动画中同时应用三种类型的效果
$("#go").click(function(){
  $("#block").animate({
    width: "90%",
    height: "100%",
    fontSize: "10em",
   borderWidth: 10
 }, 1000 );
});

让指定元素左右移动
HTML 代码:
<p style="display: none;left:20px;top:20px;position:absolute;width:200px;height:200px;border-style:solid;border-width:1px;border-color:Black;">Hello</p>
jQuery 代码:
$("#right").click(function(){
  $(“p").animate({left: ‘+50px‘}, "slow");
});
$("#left").click(function(){
  $(“p").animate({left: ‘-50px‘}, "slow");
});

animate(params,options)
用于创建自定义动画的函数。
这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。 注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left.
而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。
在 jQuery 1.2 中,你可以使用 em 和 % 单位。另外,在 jQuery 1.2 中,你可以通过在属性值前面指定 "+=" 或 "-=" 来让元素做相对运动。
返回值
jQuery
参数
params (Options) : 一组包含作为动画属性和终值的样式属性和及其值的集合
options (Options) : 一组包含动画选项的值的集合。

选项
duration (String,Number) : (默认值: "normal") 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)

complete (Function) : 在动画完成时执行的函数
step (Callback) :
queue (Boolean) : (默认值: true) 设定为false将使此动画不进入动画队列 (jQuery 1.2中新增)

示例
第一个按钮按了之后展示了不在队列中的动画。在div扩展到90%的同时也在增加字体,一旦字体改变完毕后,边框的动画才开始。
第二个按钮按了之后就是一个传统的链式动画,即等前一个动画完成后,后一个动画才会开始.
HTML 代码:
<button id="go1"> Animate Block1</button>
<button id="go2"> Animate Block2</button>
<div id="block1">Block1</div><div id="block2">Block2</div>
jQuery 代码:
$("#go1").click(function(){
  $("#block1").animate( { width: "90%"}, { queue: false, duration: 5000 } )
     .animate( { fontSize: ‘10em‘ } , 1000 )
     .animate( { borderWidth: 5 }, 1000);});
$("#go2").click(function(){
  $("#block2").animate( { width: "90%"}, 1000 )
    .animate( { fontSize: ‘10em‘ } , 1000 )
    .animate( { borderWidth: 5 }, 1000);
});

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>详解jQuery动画</title>
<style type="text/css">
p
{
	width:200px;
	height:200px;
	background-color:Red;
	border-style:solid
}
</style>
 <!--   引入jQuery -->
    <script src="../scripts/jquery-1.2.6.js" type="text/javascript"></script>
    <script src="../scripts/jquery-1.2.6-vsdoc-cn.js" type="text/javascript"></script>

 <script type="text/javascript">
     $(document).ready(function() {

     $("#go1").click(function() { $("#block1").animate({ width: "90%" }, { queue: false, duration: 5000 }).animate({ fontSize: ‘10em‘ }, 1000).animate({ borderWidth: 5 }, 1000); });
      $("#go2").click(function() { $("#block2").animate({ width: "90%" }, 1000).animate({ fontSize: ‘10em‘ }, 1000).animate({ borderWidth: 5 }, 1000); }); 

     })

  </script>
</head>
<body >
<button id="go1">» Animate Block1</button>
<button id="go2">» Animate Block2</button>
<div id="block1">Block1</div>
<div id="block2">Block2</div> 

</body>
</html>
时间: 2024-08-18 21:40:55

JQuery动画详解(四)的相关文章

android动画详解四 创建动画

· 使用ValueAnimator进行动画 通过指定一些int, float或color等类型的值的集合,ValueAnimator 使你可以对这些类型的值进行动画.你需通过调用ValueAnimator 的某个工厂方法来获得一个ValueAnimator 对象,比如:ofInt(), ofFloat(), 或 ofObject().例如: ValueAnimator animation = ValueAnimator.ofFloat(0f, 1f); animation.setDuration

Animation动画详解(十一)——layoutAnimation与gridLayoutAnimation

前言:人或许天生是懒惰的,明知道的不足,却不努力弥补. 相关博客: 1.<Animation 动画详解(一)--alpha.scale.translate.rotate.set的xml属性及用法> 2.<Animation动画详解(二)--Interpolator插值器> 3.<Animation动画详解(三)-- 代码生成alpha.scale.translate.rotate.set及插值器动画> 4.<Animation动画详解(四)--ValueAnima

Animation动画详解(六)——ValueAnimator高级进阶(二)

前言:人生总有不平时,无论何时,不后悔就好. 相关文章: 1.<Animation 动画详解(一)--alpha.scale.translate.rotate.set的xml属性及用法>2.<Animation动画详解(二)--Interpolator插值器>3.<Animation动画详解(三)-- 代码生成alpha.scale.translate.rotate.set及插值器动画>4.<Animation动画详解(四)--ValueAnimator基本使用&

J2EE学习篇之--JQuery技术详解

前面我们讲解了的J2EE的技术都是服务端的技术,下面我们来看一下前端的一些开发技术,这一篇我们来看一下jQuery技术 简介: jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascript框架.其宗旨是--WRITE LESS,DO MORE,写更少的代码,做更多的事情. 它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏

iOS动画详解(学习动画看这一篇就够了)

iOS动画详解(学习动画看这一篇就够了) 一.基础知识 CAAnimation.png 二.CABasicAnimation 1. 动画的属性和解释 2.属性值的解释 repeatCount : 如果在swift中需要一直不断重复:Float.infinity,OC:HUGE_VALF timingFunction: timingFunction.png kCAMediaTimingFunctionLinear--在整个动画时间内动画都是以一个相同的速度来改变.也就是匀速运动.一个线性的计时函数

jQuery内核详解与实践读书笔记1:原型技术分解1

一直以来都有研究一下jQuery源代码的想法,但是每次看到jQuery几千行的代码,头就大了,没有一点头绪,也不知道从哪里开始.昨天去图书馆无意间发现了这本<jQuery内核详解和实践>,翻看了一下里面的内容,这正是我寻觅多时剖析jQuery源码的好书. 废话不多说,直入正题吧.第一章介绍了一下jQuery的起步和一些历史故事,没什么重要内容.这里直接进入第二章,jQuery技术解密,从这一章开始就全部是干货了.这一章主要分四部分:jQuery原型技术分解,破解jQuery选择器接口,解析jQ

Android Animation动画详解(二): 组合动画特效

前言 上一篇博客Android Animation动画详解(一): 补间动画 我已经为大家介绍了Android补间动画的四种形式,相信读过该博客的兄弟们一起都了解了.如果你还不了解,那点链接过去研读一番,然后再过来跟着我一起学习如何把简单的动画效果组合在一起,做出比较酷炫的动画特效吧. 一. 动画的续播 如题,大家想想,如果一个页面上包含了许多动画,这些动画要求按顺序播放,即一个动画播放完成后,继续播放另一个动画,使得这些动画具有连贯性.那该如何实现呢? 有开发经验或者是逻辑思维的人肯定会想,对

Animation动画详解(五)——ValueAnimator高级进阶(一)

前言:唯有脚踏实地,才能厚积薄发,未来只属于为梦想而奋斗的人们,今天的你决定未来的自己. 上一篇给大家介绍了ValueAnimator的大部分函数的用法,不过还都是些简单的用法,这篇我们带大家来看看有关加速器.animator和keyFrame的知识. 一.插值器 插值器,也叫加速器:有关插值器的知识,我在<Animation动画详解(二)--Interpolator插值器>中专门讲过,大家可以先看看这篇文章中各个加速器的效果.这里再讲一下什么是插值器.我们知道,我们通过ofInt(0,400

jQuery.validator 详解二

前言:上一篇详细的介绍了jQuery.validator( 版本v1.13.0 )的验证规则,这一篇重点讲述它的源码结构,及如何来对元素进行验证,错误消息提示的内部实现 一.插件结构(组织方式) 在讲述如何对元素进行验证前有必要了解它的代码组织方式,请看代码(部分省略) var plugFn = function( $ ) { $.extend($.fn, { // 验证from表单 validate: function( options ) { // ... // 实例化$.validator