第 11 章 动画效果

学习要点:
1.显示、隐藏
2.滑动、卷动
3.淡入、淡出
4.自定义动画
5.列队动画方法
6.动画相关方法
7.动画全局属性

一. 显示、隐藏
jQuery 中显示方法为:.show(),隐藏方法为:.hide()。在无参数的时候,只是硬性的显
示内容和隐藏内容。
$(‘.show‘).click(function () { //显示
$(‘#box‘).show();
});
$(‘.hide‘).click(function () { //隐藏
$(‘#box‘).hide();
});

在.show()和.hide()方法可以传递一个参数,这个参数以毫秒(1000 毫秒等于 1 秒钟)来控
制速度。并且里面富含了匀速变大变小,以及透明度变换。

除了直接使用毫秒来控制速度外,jQuery 还提供了三种预设速度参数字符串:slow、
normal 和 fast,分别对应 600 毫秒、400 毫秒和 200 毫秒。默认 400 毫秒

//使用.show()和.hide()的回调函数,可以实现列队动画效果。
$(‘.show‘).click(function () {
$(‘#box‘).show(‘slow‘, function () {
alert(‘动画持续完毕后,执行我!‘);
});
});
//列队动画,使用函数名调用自身
$(‘.show‘).click(function () {
$(‘div‘).first().show(‘fast‘, function showSpan() {
$(this).next().show(‘fast‘, showSpan);
});
});
//列队动画,使用 arguments.callee 匿名函数自调用
$(‘.hide‘).click(function () {
$(‘div‘).last().hide(‘fast‘, function() {
$(this).prev().hide(‘fast‘, arguments.callee);
});
});

我们在使用.show()和.hide()的时候,如果需要一个按钮切换操作,需要进行一些条件判
断。而 jQuery 提供给我们一个类似功能的独立方法:.toggle()。
$(‘.toggle‘).click(function () {
$(this).toggle(‘slow‘);
});
二.滑动、卷动
jQuery 提供了一组改变元素高度的方法:.slideUp()、.slideDown()和.slideToggle()。顾名
思义,向上收缩(卷动)和向下展开(滑动)。
$(‘.down‘).click(function () {
$(‘#box‘).slideDown();
});
$(‘.up‘).click(function () {
$(‘#box‘).slideUp();
});
$(‘.toggle‘).click(function () {
$(‘#box‘).slideToggle();
});
注意:滑动、卷动效果和显示、隐藏效果一样,具有相同的参数。

三. 淡入、淡出
jQuery 提供了一组专门用于透明度变化的方法:.fadeIn()和.fadeOut(),分别表示淡入、
淡出,当然还有一个自动切换的方法:.fadeToggle()。
$(‘.in‘).click(function () {
$(‘#box‘).fadeIn(‘slow‘);
});
$(‘.out‘).click(function () {
$(‘#box‘).fadeOut(‘slow‘);
});
$(‘.toggle‘).click(function () {
$(‘#box‘).fadeToggle();
});
上面三个透明度方法只能是从 0 到 100,或者从 100 到 0,如果我们想设置指定值就没
有办法了。而 jQuery 为了解决这个问题提供了.fadeTo()方法。
$(‘.toggle‘).click(function () {
$(‘#box‘).fadeTo(‘slow‘, 0.33); //0.33 表示值为 33
});
注意:淡入、淡出效果和显示、隐藏效果一样,具有相同的参数。对于.fadeTo()方法,
如果本身透明度大于指定值,会淡出,否则相反。

四. 自定义动画
jQuery 提供了几种简单常用的固定动画方面我们使用。但有些时候,这些简单动画无法
满足我们更加复杂的需求。这个时候,jQuery 提供了一个.animate()方法来创建我们的自定
义动画,满足更多复杂多变的要求。

$(‘.animate‘).click(function () {
$(‘#box‘).animate({
‘width‘ : ‘300px‘,
‘height‘ : ‘200px‘,
‘fontSize‘ : ‘50px‘,
‘opacity‘ : 0.5
});
});

必传的参数只有一个,就是一个键值对 CSS 变化样式的对象。还有两个可选参数分别
速度和回调函数

$(‘.animate‘).click(function () {
$(‘#box‘).animate({
‘width‘ : ‘300px‘,
‘height‘ : ‘200px‘
}, 1000, function () {
alert(‘动画执行完毕执行我!‘);
});
});

到目前位置,我们都是创建的固定位置不动的动画。如果想要实现运动状态的位移动画,
那就必须使用自定义动画,并且结合 CSS 的绝对定位功能。
$(‘.animate‘).click(function () {
$(‘#box‘).animate({
‘top‘ : ‘300px‘, //先必须设置 CSS 绝对定位
‘left‘ : ‘200px‘
});
});
自定义动画中,每次开始运动都必须是初始位置或初始状态,而有时我们想通过当前位
置或状态下再进行动画。jQuery 提供了自定义动画的累加、累减功能。
$(‘.animate‘).click(function () {
$(‘#box‘).animate({
‘left‘ : ‘+=100px‘,
});
});
自定义实现列队动画的方式,有两种:1.在回调函数中再执行一个动画;2.通过连缀或
顺序来实现列队动画。
//通过依次顺序实现列队动画
$(‘.animate‘).click(function () {
$(‘#box‘).animate({‘left‘ : ‘100px‘});
$(‘#box‘).animate({‘top‘ : ‘100px‘});
$(‘#box‘).animate({‘width‘ : ‘300px‘});
});
注意:如果不是同一个元素,就会实现同步动画
//通过连缀实现列队动画
$(‘.animate‘).click(function () {
$(‘#box‘).animate({
‘left‘ : ‘100px‘
}).animate({
‘top‘ : ‘100px‘
}).animate({
‘width‘ : ‘300px‘
});
});
//通过回调函数实现列队动画
$(‘.animate‘).click(function () {
$(‘#box‘).animate({
   ‘left‘ : ‘100px‘
}, function () {
$(‘#box‘).animate({
  ‘top‘ : ‘100px‘
}, function () {
$(‘#box‘).animate({
  ‘width‘ : ‘300px‘
});
});
});
});

时间: 2024-10-24 15:57:27

第 11 章 动画效果的相关文章

第 26 章 CSS3 动画效果

学习要点: 1.动画简介 2.属性详解 3.简写和版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 的动画效果,可以通过类似 Flash 那样的关键帧模式控制运行. 一.动画简介 CSS3 提供了类似 Flash 关键帧控制的动画效果,通过 animation 属性实现.那么之前的 transition 属性只能通过指定属性的初始状态和结束状态来实现动画效果,有一定的局限性. animation 实现动画效果主要由两个部分组成:1.通过类似 Flash 动画中的关键帧声明一个动画:

第九章 动画和效果

本项目是<beginning iOS8 programming with swift>中的项目学习笔记==>全部笔记目录 ------------------------------------------------------------------------------------------------------------------ 1.    拖拽一个ToolBar到Detail控制器中的Table下面,设置好约束,使其停靠在视图的最下方.2.    再拖一个Bar B

锋利的jQuery第2版学习笔记8~11章

第8章,用jQuery打造个性网站 网站结构 文件结构 images文件夹用于存放将要用到的图片 styles文件夹用于存放CSS样式表,个人更倾向于使用CSS文件夹 scripts文件夹用于存放jQuery脚本,个人更倾向于使用JS文件夹存放所有的js及jQuery脚本 编写CSS样式 推荐首先编写全局样式,接着编写可大范围内重用的样式,最后编写细节样式,这样根据CSS最近优先原则,可以较容易地对网站进行从整体到细节样式的定义 第9章,jQuery Mobile jQuery Mobile主要

(转)动画效果android

第9章  Android动画效果 Android系统提供了两种实现动画的方式,一种是补间动画(Tween Animation),另一种是帧动画(Frame Animation).补间动画可以实现View组件的移动.放大.缩小以及渐变等效果,帧动画则提供了一种逐帧播放图片的动画方式.无论是补间动画还是帧动画,Android均为其进行了封装,提供了非常简单的应用接口. 9.1  Animation类:动画抽象类 Animation类是Android系统的一个动画抽象类,所有其他一些动画类都要继承该类

javascript动画效果之缓冲动画(修改版)

在编写多块同时触发运动的时候,发现一个BUG, timer = setInterval(show, 30);本来show是一个自定义函数,当设为timer = setInterval(show(one,two), 30);时,发现show里面的参数one和two无法被导入,所以需要做以下代码改进和优化 原版的html和css代码在这里javascript动画效果之缓冲动画 js代码如下 1 <script> 2 function $(id) { 3 return typeof id === &

CSS动画效果之animation

Y(^o^)Y css动画大乱弹之animation. 概述 什么是animation呢?在回答这个问题之前,先要说明什么叫做@keyframe(关键帧).@keyframe算是一个动画模板.在其中,可以使用百分比,如从0%到100%的任意值,分别在每个百分比中,加上不同的属性,从而让元素达到一种在不断变化的动画效果.这和我们制作flash动画一样,我们只需设计几个关键帧,系统就能生成动画啦! 一个@keyframe例子: 1 /*定义关键帧动画*/ 2 @keyframes myframe {

jquery 动画效果插件

从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数: properties:一组包含作为动画属性和终值的样式属性和及其值的集合duration(可选):动画执行时间,其值可以是三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)eas

【转】Android 实现蘑菇街购物车动画效果

原文出处:http://blog.csdn.net/wangjinyu501/article/details/38400479 1.思路 目前想到两种方式实现这种效果,一是使用Tween动画,直截了当的进行一个移动,蘑菇街就是使用这样的方法.二是使用WindowManager创建一个View,然后对这个View进行移动. 2.实现 本文先用方式一方法实现,之后会用方式二方法实现. 方式一: Activity代码: 1 package com.kince.mogujie; 2 3 import a

【v2.x OGE教程 11】 动画编辑器帮助文档

[v2.x OGE教程 11] 动画编辑器帮助文档 版本号 日期 作者 说明 1.0 2014-9-3 橙子游戏 文档创建       一.简单介绍 动画编辑器用于游戏动画的可视化编辑,支持序列帧动画和关键帧动画.通过解析生成的数据文件就可以获取动画信息,并能随时调整,以降低开发工作量.提高开发效率. 二.相关概念 1. 帧 帧是动画在某个时间点的状态.一系列的帧组成了动画的时间线.动画播放时.通过帧的切换,实现动画效果 2. 序列帧 序列帧组成序列帧动画,这样的动画中.仅通过静态图片的切换来实