轻松学习jQuery事件和动画

news2024/11/23 21:19:13

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:前端开发者成长之路
✨特色专栏:国学周更-心性养成之路
🥭本文内容:轻松学习jQuery事件和动画
更多内容点击👇
      轻松学习jQuery控制DOM

文章目录

  • jQuery事件
    • 常用事件
    • 绑定事件
    • 删除事件
    • 复合事件
  • jQuery动画
    • 显示隐藏
    • 淡入淡出
    • 幻灯片特效
    • 自定义动画

jQuery事件

在这里插入图片描述

常用事件

jQuery事件是对JavaScript事件的封装,常用事件分类:
1、基础事件

  • 鼠标事件
  • 键盘事件
  • window事件
  • 表单事件

2、复合事件

  • 鼠标光标悬停
  • 鼠标连续点击

鼠标事件

在这里插入图片描述
案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>鼠标事件</title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div {
				width: 500px;
				height: 300px;
				border: 1px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
		$(function() {
			
			//给div元素绑定click事件
			$('div').click(function(){
				$('div').css('background-color','#ccc');
			});
			
			//给div元素绑定mouseover事件
			$('div').mouseover(function(){
				$('div').css('border-radius','50px');
			});
			
			//给div元素绑定mouseout事件
			$('div').mouseout(function(){
				$('div').css('border-radius','0px');
			});
			
			//给div元素绑定鼠标单击事件
			$('div').dblclick(function(){
				$('div').css('border-color','#0f0');
			});
		});
	</script>
</html>

运行效果:

请添加图片描述
键盘事件

用户每次按下或者释放键盘上的键时都会产生事件,常用键盘事件如下:
在这里插入图片描述
案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div {
				width: 500px;
				height: 300px;
				border: 1px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
		$(function() {

			//给div元素绑定keydown事件
			$(document).keydown(function(event) {
				if (event.key == 'p') {
					$('div').css('background-color', '#ccc');
				}
			});

			//给div元素绑定keyup事件
			$(document).keyup(function(event) {
				if (event.key == 'p') {
					$('div').css('background-color', '#0f0');
				}
			});

			//给div元素绑定keypress事件
			$(document).keypress(function(event) {
				if (event.key == 'o') {
					$('div').css('background-color', '#00f');
				}
			});
		});
	</script>
</html>

运行效果:

请添加图片描述

绑定事件

在jQuery中通过on()对事件进行绑定,相当于标准DOM的addEventListener(),使用方法也基本相同。

案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>绑定和移除事件</title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div {
				width: 500px;
				height: 300px;
				border: 1px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
		$(function() {
			$('div').on({
				'mouseenter': function() {
					$('div').css('background-color', '#0f0');
				},
				'mouseleave': function() {
					$('div').css('border-radius', '50%');
				}
			});
		});
	</script>
</html>

运行效果:

请添加图片描述

删除事件

在jQuery中采用off()来删除事件,该方法可以接收可选的参数,表示删除某单个事件;也可以不设置任何参数,就表示移除元素上的所有事件。

无参数的案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>绑定和移除事件</title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div {
				width: 500px;
				height: 300px;
				border: 1px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
		$(function() {
			$('div').on({
				'mouseenter': function() {
					$('div').css('background-color', '#0f0');
				},
				'mouseleave': function() {
					$('div').css('border-radius', '50%');
				}
			});
			
			//off():移除事件的函数,如果函数中没有参数,就表示移除元素上的所有事件
			$('div').off();
		});
	</script>
</html>

运行效果:

请添加图片描述
用off()方法时,鼠标移入和移除的事件都被移除了。

将上述代码中的off()方法添加一个参数,比如:

	$('div').off('mouseenter');

此时的运行效果如下:

请添加图片描述

复合事件

  • hover()方法
    相当于mouseover与mouseout事件的组合
    语法:hover(enter,leave);
    案例代码:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>hover()</title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div {
				width: 300px;
				height: 300px;
				background-color: aquamarine;
			}
		</style>
	</head>
	<body>
		<button>移入移出按钮</button>
		<div></div>
	</body>
	<script>
		//可以使用hover()函数模拟鼠标移入移出
		$('button').hover(function(){
			$('div').hide();
		},function(){
			$('div').show();
		});
	</script>
</html>

运行效果:

在这里插入图片描述

  • toggle()方法
    用于模拟鼠标连续click事件
    语法:toggle(fn1,fn2,…,fnN);
    案例代码:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>toggle()</title>
		<script src="js/jquery-1.8.3.min.js"></script>
		<style>
			div{
				width: 800px;
				height: 500px;
				border: 3px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
		$('div').toggle(function(){
			$('div').css('background-color','#f00');
		},function(){
			$('div').css('background-color','#0f0');
		},function(){
			$('div').css('background-color','#00f');
		});
	</script>
</html>

运行效果:

在这里插入图片描述

jQuery动画

jQuery动画中相关函数可以说是为其添加了亮丽的一笔。我们可以通过简单的函数实现很多特效,这在以往是需要编写大量的JavaScript的动画的相关知识。

思维导图:
在这里插入图片描述

显示隐藏

  • show() 显示
  • hide() 隐藏
  • toggle() 显示隐藏切换

对于动画和特效而言,元素的显示和隐藏可以说是使用很频繁的特效。

在普通的JavaScript编程中,实现元素的显示或隐藏通常是利用对应CSS代码中的display属性或visibility属性。而在jQuery中提供了 s h o w ( ) show() show() h i d e ( ) hide() hide()两个方法,用于直接实现元素的显示和隐藏。

案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>显示隐藏</title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div{
				width: 300px;
				height: 200px;
				background-color: #f00;
				display: none;
			}
		</style>
	</head>
	<body>
		<button>点击一下</button>
		<div></div>
	</body>
	<script>
		$('button').click(function(){
			$('div').show(3000,function(){
				alert('我已经完全显示起来了');
			});
		});
	</script>
</html>

运行效果:

在这里插入图片描述
jQuery中还提供了toggle()方法,不带参数的它使得元素可以在show()和hide()之间切换。带参数的,我们在上面说过。

案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>toggle()</title>
		<script src="js/jquery-1.8.3.min.js"></script>
		<style>
			div{
				width: 800px;
				height: 500px;
				border: 3px solid #f00;
			}
		</style>
	</head>
	<body>
		<button>点我一下</button>
		<div></div>
	</body>
	<script>
		$('div').toggle(function(){
			$('div').css('background-color','#f00');
		},function(){
			$('div').css('background-color','#0f0');
		},function(){
			$('div').css('background-color','#00f');
		});
		
		$('button').click(function(){
			$('div').toggle();
		});
	</script>
</html>

toggle()和toggleClass()总结:

在这里插入图片描述

淡入淡出

  • fadeIn() 显示
  • fadeOut() 隐藏
  • fadeTo(duration,opcity,callback) 自定义变化透明度,其中opacity的 取值范围为0.0~1.0

案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>动画效果</title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div{
				width: 300px;
				height: 200px;
				background-color: #f00;
				/* display: none; */
			}
		</style>
	</head>
	<body>
		<button>点击一下</button>
		<div></div>
	</body>
	<script>
		$('button').click(function(){
			$('div').fadeOut(3000,function(){
				alert('我已经完全隐藏起来了');
			});
		});
	</script>
</html>

运行效果:

在这里插入图片描述

幻灯片特效

  • slideUp()
  • slideDown()
    模拟PPT中的幻灯片“拉窗帘”特效。

案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>动画效果</title>
		<script src="js/jQuery-3.6.1.js"></script>
		<style>
			div{
				width: 300px;
				height: 200px;
				background-color: #f00;
				/* display: none; */
			}
		</style>
	</head>
	<body>
		<button>点击一下</button>
		<div></div>
	</body>
	<script>
		$('button').click(function(){
			$('div').slideUp(3000,function(){
				alert('我已经完全隐藏起来了');
			});
		});
	</script>
</html>

运行效果:

在这里插入图片描述

自定义动画

考虑到框架的通用性以及代码文件的大小,jQuery没有涵盖所有的动画效果。但它提供了animate()方法,能够让开发者自定义动画。

常用形式:
animate(params,[duration],[easing],[callback]);

需要特别指出,params中的变量名要遵循JavaScript对变量名的要求,因此不能出现连字符“-”。例如CSS中的属性名padding-left就要改为paddingLeft,也就是遵循“小驼峰命名”规则。另外,params表示的属性只能是CSS中用数值表示的属性,例如width、top、opacity等,像backgroundColor这样的属性不被animate()支持。

案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
		</script>
		<script>
			$(document).ready(function() {
				$("button").click(function() {
					$("div").animate({
						left: '250px'
					});
				});
			});
		</script>
	</head>

	<body>
		<button>开始动画</button>
		<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
		</div>

	</body>
</html>

运行效果:

在这里插入图片描述

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

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

相关文章

计算机网络-网络层详细讲解(持续更新中)

网络层概述 网络层的主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间的传输。 要实现网络层主要任务&#xff0c;需要解决以下主要问题&#xff1a; 网络层向运输层提供怎样的服务&#xff08;“可靠传输”还是“不可靠传输‘&#xff09;网络层寻址问题路由…

小啊呜产品读书笔记001:《邱岳的产品手记-04》第07+08讲 关于需求变更

小啊呜产品读书笔记001&#xff1a;《邱岳的产品手记-04》第0708讲 关于需求变更一、今日阅读计划二、泛读&知识摘录1、07讲 关于需求变更&#xff08;上&#xff09;&#xff1a;需求背后的需求2、08讲 关于需求变更&#xff08;下&#xff09;&#xff1a;化变更于无形三…

【Pytorch with fastai】第 14 章 :ResNet

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

自动化测试selenium在小公司的成功实践

前言 可能提到自动化测试selenium&#xff0c;大家都会想到用python语言来编写脚本。但我们选择了java语言&#xff0c;因为我相信大部分公司java程序员比python程序员多得多。而对于很多测试人员&#xff0c;并不能熟练使用编程语言&#xff0c;所以他们需要别人指导。与其使…

iOS 16.2 的7个惊人变化

看起来 iOS 16 正在不断扩展 你已经知道 iOS 16 和 iOS 16.1 有多么不可思议。所以我认为下一次更新已经没有多少了——iOS 16.2。 Apple 刚刚通过 iOS 16.2 Developer Beta 1 消除了这些信念。 Developer Beta 2 中还有 7 个变化。相信我,它们也很棒。 #1、锁定屏幕的药物…

qemu创建linux虚拟机(亲测有效,virt-manger方式)

1&#xff0c;网桥的搭建 Bridge方式原理 Bridge方式即虚拟网桥的网络连接方式&#xff0c;是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。 桥接网络&#xff08;也叫物理设备共享&#xff09;被用作把一个物理设备复制到一台虚拟机。网桥多…

Chrome 扩展教程之如何使用 React 构建 Chrome 扩展(教程含源码)

创建自己的 Chrome 扩展程序比许多人想象的要容易。这很有趣。我们可以尽情发挥我们的创造力,根据需要修改每个网站。 在本文中,我将首先向您展示如何设置 Chrome 扩展程序。之后,我们将设置一个 React 应用程序并将其加载到任何网站上。 设置 在我们开始之前,让我们在我…

对称加密和非对称加密

对称加密 加密和解密时使用的是同一个秘钥&#xff0c;这种加密方法称为对称加密&#xff0c;也称为单密钥加密。 优点&#xff1a;算法公开、计算量小、加密速度快、加密效率高。 缺点&#xff1a;如果一方的秘钥被泄露&#xff0c;那么加密信息也就不安全了。 示例AES pri…

VMware Workstation中桥接模式、NAT模式、仅主机模式

一、VMware虚拟机的网络模式 VMware工作站虚拟机有三种网络模式【①桥接模式 ②NAT模式 ③仅主机模式】&#xff0c;如下图所示&#xff1a; 二、VMware虚拟机的网络模式介绍 2.0、VMware的虚拟设备 VMware的虚拟设备序号虚拟设备编号说明1VMnet0是虚拟桥接网络下的虚拟交换机…

【正点原子FPGA连载】 第二章 实验平台简介 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二章 实验平台…

CNN (吴恩达 2021

week1-2 02_边缘检测例子_哔哩哔哩_bilibili ​ ​ 我们之前在说面部识别介绍过&#xff0c;要识别面部&#xff0c;都是从细微的边缘入手&#xff0c;一层一层聚类&#xff0c;最终实现人脸的识别。神经网络由浅层到深层&#xff0c;分别可以检测出图片的边缘特征 、局部特…

【Linux】基本指令(一)

文章目录前言操作系统简述学习指令的原因ls 指令pwd 指令cd 指令touch 指令tree 命令mkdir 指令rmdir 和 rm 指令nano 指令clear 指令whoami 指令常用键位结语前言 今天&#xff0c;我们开始 Linux 的学习。本篇博客内容为 操作系统简述、Linux 基本指令、和几个 Linux 常用键…

Wordpress 生手遇到一堆问题,反应巨慢,提速插件又是一堆错误

环境 LAMP&#xff1a;Debian&#xff0c;Apache&#xff0c;MariaDB&#xff0c;PHP 7.4 Wordpress安装几乎没有什么要求&#xff0c;几乎没有特别的设置就可以顺利安装成功&#xff0c;但随着插件的增加&#xff0c;问题就慢慢出来了。 写两页就会发现Wordpress反应巨慢&…

LiteFlow 开源编排规则引擎

osgi 让 java 系统变成模块化的形式&#xff0c;ASM 是一款修改字节码的框架&#xff0c;同类型的框架 Cglib。这些框架能加载一个 class 信息&#xff0c;Javaagent&Attach API 结合 ASM LiteFlow 的理念很简单&#xff0c;就是把系统中的各个逻辑切分成一小块一小块的&am…

XCIE-HUAWEI-PBR-MQC-引入形成的路由环路

XCIE-HUAWEI-PBR-MQC-引入形成的路由环路 首先来个测试 给你们选&#xff0c;答案选啥呢? 正确答案在结尾公布 正确答案是C 为什么呢&#xff1f; 首先&#xff0c;虽然ACL有一个齐总是拒绝的&#xff0c;但是呢&#xff0c;他两都是同一条路由 但是呢&#xff01;&#x…

用于高通量实验筛选的化合物库 | MedChemExpress

Protein-Protein Interaction Library (含 59,370 种化合物) 用于发现新的 PPI 抑制剂 蛋白质相互作用 (PPI)是研究生物反应机制的重要工具。PPI 能产生许多效应&#xff0c;如改变蛋白质对其作用底物的专一性、生成新的结合位点、形成特异底物作用通道等。针对PPI的药物设计为…

Android App开发触摸事件中手势事件Event的分发流程讲解与实战(附源码 简单易懂)

需要源码或运行有问题请点赞关注收藏后评论区留言~~~ 一、手势事件的分发流程 智能手机的一大革命性技术就是把屏幕变为可触摸设备&#xff0c;既可用于信息输入也可以用于信息输出。与手势事件有关的方法主要有以下三个 dispatchTouchEvent 进行事件分发处理 返回结果表示该…

机器学习模型5——贝叶斯分类器

前置知识 条件概率 贝叶斯公式 &#xff08;贝叶斯模型还是很好理解的&#xff0c;主要基于高中就学到过的条件概率。&#xff09; 贝叶斯定理 P(A)&#xff0c;P(B)分别是事件A&#xff0c;B发生的概率&#xff0c;而P(A|B)是在事件A在事件B发生的前提下发生的概率&#xf…

Burpsuite实验室之点击劫持

Burpsuite实验室之点击劫持 这是BurpSuit官方的实验室靶场&#xff0c;以下将记录个人点击劫持共5个Lab的通关过程 lab1&#xff1a; Basic clickjacking with CSRF token protection 带CSRF令牌保护的基本点击劫持 目标&#xff1a;官方给了一个账号密码wiener:peter&…

小型点阵屏后台监控系统研发

目 录 一、绪论 1 &#xff08;一&#xff09;课题的研究意义 1 &#xff08;二&#xff09;设计任务及要求 1 &#xff08;三&#xff09;单片机的发展史 2 &#xff08;四&#xff09;单片机的发展趋势 3 二、系统的整体结构 5 三、单片机介绍 6 1、单片机引脚介绍 9 2、复位…