jQuery 动画

news2024/11/15 11:58:32

文章目录

  • jQuery 动画
    • 概述
    • 显示和隐藏动画
      • show() 和 hide()
      • toggle()
    • 淡入和淡出动画
      • fadeIn() 和 fadeOut()
      • fadeToggle()
      • fadeTo()
    • 滑上和滑下动画
      • slideUp()和slideDown()
      • slideToggle()
    • 自定义动画
      • 简单动画
        • jquery.color.js
      • 累积动画
      • 回调函数
    • 队列动画
    • 取消动画
    • 延迟动画

jQuery 动画

概述

在实际开发中,使用CSS3来实现动画有一定的局限性,有些地方必须使用jQuery才能实现动画,例如下面几种情况:

  • 控制动画的执行。
  • 结合DOM操作。
  • 动画执行后返回一个函数。

显示和隐藏动画

在jQuery中,如果想要实现元素的显示与隐藏效果,有以下两种方式:

  • show()和hide()
  • toggle()

show() 和 hide()

语法

$(元素).show(speed, fn)
$(元素).hide(speed, fn)

说明

show()方法会把元素由display:none;还原为原来的状态(display:block、display:inline-block等)。

hide()方法会为元素定义display:none;

speed参数:可选参数。有2种取值,一种是具体的数值;另一种是关键字,slow表示200毫秒、normal表示400毫秒、fast表示600毫秒。

fn参数:可选参数。表示动画执行完后的回调函数。

无动画使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#show-btn").click(function() {
					$("img").show();
				});
				$("#hide-btn").click(function() {
					$("img").hide();
				});
			})
		</script>
	</head>
	<body>
		<input id="show-btn" type="button" value="显示">
		<input id="hide-btn" type="button" value="隐藏">
		<br>
		<img src="img/a.png" width="50%">
	</body>
</html>

在这里插入图片描述

有动画使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#show-btn").click(function() {
					$("img").show("normal");
				});
				$("#hide-btn").click(function() {
					$("img").hide("normal");
				});
			})
		</script>
	</head>
	<body>
		<input id="show-btn" type="button" value="显示">
		<input id="hide-btn" type="button" value="隐藏">
		<br>
		<img src="img/a.png" width="50%">
	</body>
</html>

在这里插入图片描述

toggle()

语法

$(元素).toggle(speed, fn)

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#toggle-btn").click(function() {
					$("img").toggle("normal");
				});
			})
		</script>
	</head>
	<body>
		<input id="toggle-btn" type="button" value="切换">
		<br>
		<img src="img/a.png" width="50%">
	</body>
</html>

在这里插入图片描述

淡入和淡出动画

fadeIn() 和 fadeOut()

语法

$(元素).fadeIn(speed, fn)
$(元素).fadeOut(speed, fn) 

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#show-btn").click(function() {
					$("img").fadeIn();
				});
				$("#hide-btn").click(function() {
					$("img").fadeOut();
				});
			})
		</script>
	</head>
	<body>
		<input id="show-btn" type="button" value="淡出">
		<input id="hide-btn" type="button" value="淡入">
		<br>
		<img src="img/a.png" width="50%">
	</body>
</html>

在这里插入图片描述

fadeToggle()

语法

$(元素).fadeToggle(speed, fn) 

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#toggle-btn").click(function() {
					$("img").fadeToggle();
				});
			})
		</script>
	</head>
	<body>
		<input id="toggle-btn" type="button" value="切换">
		<br>
		<img src="img/a.png" width="50%">
	</body>
</html>

在这里插入图片描述

fadeTo()

语法

$(元素).fadeTo(speed, opacity, fn) 

说明

opacity参数:表示元素指定的透明度,取值范围为0.0~1.0。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("img").hover(function() {
					$(this).fadeTo(500, 0.6);
				}, function() {
					$(this).fadeTo(500, 1.0);
				});
			})
		</script>
	</head>
	<body>
		<img src="img/a.png" width="50%">
	</body>
</html>

在这里插入图片描述

滑上和滑下动画

在jQuery中,如果想要实现元素的滑动效果,我们有以下两种方式:

  • slideUp()和slideDown()
  • slideToggle()

slideUp()和slideDown()

语法

$(元素).slideUp(speed, fn)
$(元素).slideDown(speed, fn)

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 300px;
			}

			h3 {
				text-align: center;
				padding: 10px;
				background-color: #EEE;
			}

			h3:hover {
				background-color: #ddd;
				cursor: pointer;
			}

			p {
				background-color: #f1f1f1;
				padding: 8px;
				line-height: 24px;
				display: none;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("h3").hover(function() {
					$("p").slideDown();
				}, function() {
					$("p").slideUp();
				});
			})
		</script>
	</head>
	<body>
		<div>
			<h3>hello world</h3>
			<p>
				这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。
			</p>
		</div>
	</body>
</html>

在这里插入图片描述

slideToggle()

语法

$(元素).slideToggle(speed, fn) 

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 300px;
			}

			h3 {
				text-align: center;
				padding: 10px;
				background-color: #EEE;
			}

			h3:hover {
				background-color: #ddd;
				cursor: pointer;
			}

			p {
				background-color: #f1f1f1;
				padding: 8px;
				line-height: 24px;
				display: none;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("h3").hover(function() {
					$("p").slideToggle();
				}, function() {
					$("p").slideToggle();
				});
			})
		</script>
	</head>
	<body>
		<div>
			<h3>hello world</h3>
			<p>
				这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。这些一些内容。
			</p>
		</div>
	</body>
</html>

在这里插入图片描述

自定义动画

简单动画

语法

$(元素).animate(params, speed, fn) 

说明

params参数:属性值列表。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 50px;
				height: 50px;
				background-color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("div").hover(function() {
					$(this).animate({
						"width": "100px",
						"height": "100px"
					}, 1000);
				}, function() {
					$(this).animate({
						"width": "50px",
						"height": "50px"
					}, 1000);
				});
			})
		</script>
	</head>
	<body>
		<div> </div>
	</body>
</html>

在这里插入图片描述

jquery.color.js

jQuery本身有一个缺陷,就是使用animate()方法时会无法识别background-color、border-color等颜色属性。因此,我们需要引入第三方插件jquery.color.js来修复这个bug。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 50px;
				height: 50px;
				background-color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script src="js/jquery.color.js"></script>
		<script>
			$(function() {
				$("div").hover(function() {
					$(this).animate({
						"width": "100px",
						"height": "100px",
						"background-color": "blue"
					}, 1000);
				}, function() {
					$(this).animate({
						"width": "50px",
						"height": "50px",
						"background-color": "red"
					}, 1000);
				});
			})
		</script>
	</head>
	<body>
		<div> </div>
	</body>
</html>

在这里插入图片描述

累积动画

在jQuery中,对于元素的宽度和高度,我们可以结合“+=”和“-=”这两个运算符来实现累积动画的效果。

例如:{"width":"+=100px"}表示以元素本身的width为基点加上100px,而{"width":"-=100px"}表示以元素本身的width为基点减去100px。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 50px;
				height: 50px;
				background-color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script src="js/jquery.color.js"></script>
		<script>
			$(function() {
				$("div").hover(function() {
					$(this).animate({
						"width": "+=50px",
						"height": "+=50px",
						"background-color": "blue"
					}, 1000);
				}, function() {
					$(this).animate({
						"width": "-=50px",
						"height": "-=50px",
						"background-color": "red"
					}, 1000);
				});
			})
		</script>
	</head>
	<body>
		<div> </div>
	</body>
</html>

在这里插入图片描述

回调函数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 50px;
				height: 50px;
				background-color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script src="js/jquery.color.js"></script>
		<script>
			$(function() {
				$("div").hover(function() {
					$(this).animate({
						"width": "+=50px",
						"height": "+=50px",
						"background-color": "blue"
					}, 1000, function() {
						$(this).css("border", "2px solid green")
					});
				}, function() {
					$(this).animate({
						"width": "-=50px",
						"height": "-=50px",
						"background-color": "red"
					}, 1000, function() {
						$(this).css("border", "none")
					});
				});
			})
		</script>
	</head>
	<body>
		<div> </div>
	</body>
</html>

说明:在动画执行完后调用回调函数。

队列动画

语法

$(元素).animate().animate()....

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 50px;
				height: 50px;
				background-color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script src="js/jquery.color.js"></script>
		<script>
			$(function() {
				$("div").mouseover(function() {
					$(this).animate({
							"width": "100px"
						}, 1000)
						.animate({
							"height": "100px"
						}, 1000)
						.animate({
							"background-color": "blue"
						}, 1000)
						.fadeOut(1000)
						.fadeIn(1000);
				});
			})
		</script>
	</head>
	<body>
		<div> </div>
	</body>
</html>

在这里插入图片描述

取消动画

语法

$(元素).stop(clearQueue, jumpToEnd)

说明

clearQueue参数:是否清空队列动画。

jumpToEnd参数:是否立即完成最终动画。

stop()方法有4种形式:

  • stop():等价于stop(false,false),只停止当前动画,后续动画仍然继续执行。
  • stop(true):等价于stop(true,false),停止所有动画。
  • stop(true,true):当前动画继续执行,停止后续动画,
  • stop(false,true):立即执行完当前动画。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 50px;
				height: 50px;
				background-color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script src="js/jquery.color.js"></script>
		<script>
			$(function() {
				$("#start-btn").click(function() {
					$("div").animate({
							"width": "100px"
						}, 2000)
						.animate({
							"height": "100px"
						}, 2000)
						.animate({
							"background-color": "blue"
						}, 2000)
						.animate({
							"background-color": "yellow"
						}, 2000);
				});
				$("#end-btn").click(function() {
					$("div").stop();
				});
			})
		</script>
	</head>
	<body>
		<input id="start-btn" type="button" value="开始">
		<input id="end-btn" type="button" value="停止">
		<br>
		<div></div>
	</body>
</html>

延迟动画

语法

$(元素).delay(speed) 

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			div {
				width: 50px;
				height: 50px;
				background-color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script src="js/jquery.color.js"></script>
		<script>
			$(function() {
				$("#start-btn").click(function() {
					$("div").animate({
							"width": "100px"
						}, 1000)
						.delay(2000)
						.animate({
							"height": "100px"
						}, 1000);
				});
			})
		</script>
	</head>
	<body>
		<input id="start-btn" type="button" value="开始">
		<div></div>
	</body>
</html>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序设计中的耦合类型

一个庞大的系统中&#xff0c;分布着许多子系统&#xff0c;子系统中包含许多包&#xff0c;包中又有数不清的类。自类往上&#xff0c;有数不清的调用关系&#xff0c;一旦两个或多个对象&#xff08;包括类、包、模块、系统等&#xff09;之间发生关系&#xff08;这里我们可…

提升 5-7 倍速,使用 Mac M1 芯片加速 Pytorch 完全指南

2022年5月&#xff0c;PyTorch官方宣布已正式支持在M1芯片版本的Mac上进行模型加速。官方对比数据显示&#xff0c;和CPU相比&#xff0c;M1上炼丹速度平均可加速7倍。 哇哦&#xff0c;不用单独配个GPU也能加速这么多&#xff0c;我迫不及待地搞到一个M1芯片的MacBook后试水了…

CISCO 服务器配置 RAID 指南及安装操作系统

开机后看屏幕出现下图后按 Ctrlm 进入 RAID 配置主页 下图为 RAID 主页. 首先创建一个新的配置. 按SPACE选择要加入的硬盘&#xff0c;然后按F10确定 选择 SPAN-1 选择RAID级别&#xff0c;读写策略... 完成以上步骤后按YES保存配置 选择 Initialize 初始化硬盘 选择YES确定&a…

zabbix添加一个ubuntu受监控主机

ubuntu版本18.04 LTS 安装一个zabbix-agent,命令如下: sudo apt install zabbix-agent 安装成功后编辑zabbix-agent配置文件 vim /etc/zabbix/zabbix_agentd.conf Server: 被动模式访问的zabbix-server的ip ServerActive: 主动模式访问的zabbix-server的ip StartAgent…

实验三 多层神经网络

一、实验目的 &#xff08;1&#xff09;学习并掌握常见的机器学习方法&#xff1b; &#xff08;2&#xff09;能够结合所学的python知识实现机器学习算法&#xff1b; &#xff08;3&#xff09;能够用所学的机器学习算法解决实际问题。 二、实验内容与要求 &#xff08…

Android | Activity 启动流程分析

前言 Activity 类是 android 应用的关键组件&#xff0c;在日常开发中&#xff0c;绝对少不了组件。既然用了这么久&#xff0c;你知道他的启动流程&#x1f434;&#xff1f;作为一个应用层开发者&#xff0c;大多数人可能觉得学习这些对日常开发可能没有太大帮助。但是多了解…

P3386 【模板】二分图最大匹配——匈牙利算法

【模板】二分图最大匹配 题目描述 给定一个二分图&#xff0c;其左部点的个数为 nnn&#xff0c;右部点的个数为 mmm&#xff0c;边数为 eee&#xff0c;求其最大匹配的边数。 左部点从 111 至 nnn 编号&#xff0c;右部点从 111 至 mmm 编号。 输入格式 输入的第一行是三…

文件描述符表、文件结构表和文件节点(SylixOS 学习笔记-更新中)

文件描述符表、文件结构表和文件节点 文件描述符表&#xff1a;每个进程都维护着自己的一个文件描述符表&#xff0c;每个文件描述符占其中一。该表记录进程打开的文件相关信息&#xff0c;因文件描述符为进程所有&#xff0c;文件描述符表也为进程内共享&#xff1b;文件表结构…

CDGA|把握三个“着眼点”,实现数据要素治理市场高质量发展

12月19日&#xff0c;国家发改委发文解读《意见》时指出&#xff0c;数据要素安全治理作为数据基础制度的四大组成部分之一&#xff0c;贯穿数据流通交易的各个环节&#xff0c;涉及数据要素市场培育的方方面面&#xff0c;发挥着不可替代的重要作用既有利于保障国家数据安全&a…

视频网站节约 30% 成本的秘密在这里

今年&#xff0c;爱奇艺宣布2022年第一季度首次实现季度盈利&#xff0c;这是爱奇艺在过去三个季度中&#xff0c;毛利率持续增长&#xff0c;且运营费用持续下降带来的结果。长视频行业发展十几年来&#xff0c;一直深陷亏损旋涡。爱奇艺的首次实现季度盈利&#xff0c;也意味…

多重背包问题(详解二进制优化原理)

多重背包问题及优化&#xff08;详解优化原理&#xff09;一、问题描述二、思路分析1、状态转移方程&#xff08;1&#xff09;状态表示&#xff1a;&#xff08;2&#xff09;状态转移&#xff1a;2、循环设计三、代码模板1、朴素版2、优化版一、问题描述 二、思路分析 这道题…

JVM垃圾回收机制

目录 目录 前言 一. GC (垃圾回收机制) STW问题 二. GC 回收哪部分内存 三. 具体怎么回收 1. 先找出垃圾 a.引用计数 b. 可达性分析 2. 回收垃圾 a. 标记清除 b. 复制算法 c. 标记整理 d. 分代回收 前言 我们都知道 Java 运行时内存的各个区域. 对于程序计数器 …

数据库与身份认证:在项目中操作 MySQL

在项目中操作数据库的步骤 ①安装操作 MySQL 数据库的第三方模块&#xff08;mysql&#xff09; ②通过 mysql 模块连接到 MySQL 数据库 ③通过 mysql 模块执行 SQL 语句 安装与配置 mysql 模块 1. 安装 mysql 模块 mysql 模块是托管于 npm 上的第三方模块。它提供了在 Nod…

智能wifi小车-RGB三色LED灯驱动

RGB三色LED灯简介 RGB指的就是三基色光&#xff0c;R红色&#xff0c;G绿色&#xff0c;B蓝色。LED芯片所发出的光一般都是蓝光&#xff0c;都是要通过红 绿 蓝这三种颜色的荧光粉去调颜色的。RGB色彩模式是工业界的一种颜色标准&#xff0c;是通过对红(R)、绿(G)、蓝(B)三个颜…

首创证券将在上交所上市:募资约19亿元,规模不及信达证券

12月22日&#xff0c;首创证券股份有限公司&#xff08;下称“首创证券”&#xff0c;SH:601136&#xff09;将在上海证券交易所主板上市。本次上市&#xff0c;首创证券的发行价格为7.07元/股&#xff0c;发行市盈率22.98倍&#xff0c;发行数量为2.73亿股&#xff0c;募资总额…

JavaSE14-数组

目录 1.数组基本用法 1.1.什么是数组 1.2.数组声明 1.3.数组的创建与初始化 1.3.1.基本类型数组 1.3.2.对象数组 1.4.数组的使用 1.4.1.获取长度 & 访问元素 1.4.2.遍历数组 2.数组作为方法的参数 2.1.基本用法 2.2.内存 2.3.引用 2.4.初识 JVM 内存区域划分…

怎么做现货白银的心理障碍

克服投资的心理障碍&#xff0c;是怎么做现货白银投资的关键。很多时候&#xff0c;技术分析是很简单的。一根K线&#xff0c;一条均线&#xff0c;就能够让人获利。但是为什么使用同样工具的人&#xff0c;却不能获利呢&#xff1f;为什么他们还要去追求一些特别复杂的分析系统…

四平方和(蓝桥杯C/C++B组真题详解)(三种做法)

目录 题目详细&#xff1a;​编辑 题目思路&#xff1a; 暴力&#xff1a; 代码详解&#xff1a; 哈希&#xff1a; 二分&#xff1a; 题目详细&#xff1a; 题目思路&#xff1a; 这个题目大家可能马上就可以想到暴力做 例如这样 暴力&#xff1a; #include<iost…

TensorFlow和Keras应如何选择?

前些年&#xff0c;深度学习领域的研究人员、开发人员和工程师必须经常做出一些选择&#xff1a; 我应该选择易于使用但自定义困难的 Keras 库&#xff1f;还是应该使用难度更大的 TensorFlow API&#xff0c;编写大量代码&#xff1f;&#xff08;更不用说一个不那么容易使用…

pyspark之sparksql数据交互

在pyspark中&#xff0c;使用sparksql进行mysql数据的读写处理&#xff0c;将程序保存为test.py #-*- coding: UTF-8 -*- # 设置python的默认编码 import sys reload(sys) sys.setdefaultencoding(utf-8) # Spark 初始化 from pyspark.sql import SQLContext, SparkSession, …