jQuery事件与特效

目录

jQuery中的事件

鼠标事件

键盘事件 

绑定事件与移除事件 

复合事件

jQuery动画效果


jQuery中的事件

jQuery事件是对JavaScript事件的封装,常用事件分类

        基础事件

        鼠标事件

        键盘事件

        window事件

        表单事件

        复合事件

        鼠标光标悬停

        鼠标连续点击

鼠标事件

鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件

方法

描述

        执行时机

click( )

触发或将函数绑定到指定元素的click事件

单击鼠标时

mouseover( )

触发或将函数绑定到指定元素的mouseover事件

鼠标指针移过时

mouseout( )

触发或将函数绑定到指定元素的mouseout事件

鼠标指针移出

mouseenter( )

触发或将函数绑定到指定元素的mouseenter事件

鼠标指针进入时

mouseleave( )

触发或将函数绑定到指定元素的mouseleave事件

鼠标指针离开时

鼠标事件方法的区别 

方法

相同点

不同点

mouseover( )

鼠标进入被选元素时会触发

鼠标在其被选元素的子元素上

来回进入时:

触发mouseover( )

不触发mouseenter

mouseenter( )

mouseout( )

鼠标离开被选元素时会触发

鼠标在其被选元素的子元素上

来回离开时:

触发mouseout

不触发mouseleave

mouseleave( )

键盘事件 

用户每次按下或者释放键盘上的键时都会产生事件,常用键盘事件

方法

描述

        执行时机

keydown( )

触发或将函数绑定到指定元素的keydown事件

按下键盘时

keyup( )

触发或将函数绑定到指定元素的keyup事件

释放按键时

keypress( )

触发或将函数绑定到指定元素的keypress事件

产生可打印的字符时

绑定事件与移除事件 

绑定事件(由于jQuery版本的不同,函数也不一样,示例使用3.6.1版本)

        绑定单个事件

        同时绑定多个事件

移除事件(示例同上)

移除所绑定的事件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-3.6.1.min.js"></script>
		<style>
			div {
				width: 300px;
				height: 200px;
				border: 1px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
		
		$(function(){
			//使用on()绑定一个事件
			// $('div').on('mouseover',function(){
			// 	$(this).css('background-color','#ccc');
			// });
			
			
			//使用on()绑定一个事件
			$('div').on({
				'mouseover':function(){
					$(this).css('background-color','#ccc');
				},
				'mouseout':function(){
					$(this).css('background-color','#f00');
				}
			});
			
			//使用off()移除div元素上的所有事件
			// $('div').off();
			//使用off()移除div元素上的鼠标移出事件
			$('div').off('mouseout','');
	
		});
	</script>
</html>

复合事件

hover()方法

hover()方法相当于mouseovermouseout事件的组合

语法:

hover(enter,leave);
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-3.6.1.min.js"></script>
		<style>
			div {
				width: 300px;
				height: 200px;
				border: 1px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
		$(function(){
			$('div').hover(function(){
				$('div').css('background-color','#ccc');
				
			},function(){
				$('div').css('background-color','#00f');
			});
		});
	</script>
</html>

 

toggle()方法

toggle()方法用于模拟鼠标连续click事件

语法:

toggle(fn1,fn2,...,fnN);

 toggle()方法不带参数,与show( )hide( )方法作用一样

语法:

toggle( );

 

toggle( fn1,fn2...)实现单击事件的切换,无须额外绑定click事件

toggle( )实现事件触发对象在显示和隐藏状态之间切换

toggleClass( )实现事件触发对象在加载某个样式和移除某个样式之间切换

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-1.8.3.min.js"></script>
		<style>
			div {
				width: 300px;
				height: 200px;
				border: 1px solid #f00;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
	<script>
			
		$(function(){
			$('div').toggle(function(){
				$(this).css('background-color','#ccc');
			},function(){
				$(this).css('background-color','#f00');
			},function(){
				$(this).css('background-color','#00f');
			});	
		});
	</script>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-1.8.3.min.js"></script>
	</head>
	<body>
		<p>我是段落标签</p>
		<button>显示和隐藏p元素</button>
	</body>
	<script>
		$(function(){
			//获取button元素并添加点击事件
			$('button').click(function(){
				//获取p元素
				$('p').toggle();
			});
		})
	</script>
</html>

 

jQuery动画效果

控制元素的显示及隐藏

show() 控制元素的显示,hide( )控制元素的隐藏

语法:

$(selector).show([speed],[callback])
$(selector).hide([speed],[callback])

改变元素的透明度

fadeIn()fadeOut()可以通过改变元素的透明度实现淡入淡出效果 

语法:

$(selector).fadeIn([speed],[callback])
$(selector).fadeOut([speed],[callback])

 

改变元素的高度 

slideDown() 可以使元素逐步延伸显示

slideUp()则使元素逐步缩短直至隐藏

语法:

$(selector).slideUp ([speed],[callback])
$(selector).slideDown ([speed],[callback])

自定义动画

语法:

$(selector). animate({params},speed,callback)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-1.12.4.js"></script>
		<style>
			div {
				width: 200px;
				height: 100px;
				background-color: aqua;
			}
			.div1{
				position: fixed;
				left: 0px;
				top: 0px;
			}
			.div2{
				position: fixed;
				left: 0px;
				top: 185px;
			}
			.div3{
				position: fixed;
				left: 0px;
				top: 345px;
			}
			.btn01{
				position: fixed;
				left: 10px;
				top: 112px;
			}
			.btn02{
				position: fixed;
				left: 54px;
				top: 112px;
			}
			
			.btn03{
				position: fixed;
				left: 10px;
				top: 288px;
			}
			.btn04{
				position: fixed;
				left: 54px;
				top: 288px;
			}
			
			.btn05{
				position: fixed;
				left: 54px;
				top: 320px;
			}
		</style>
	</head>
	<body>
	<!-- 	<div></div>
		<button>隐藏div</button> -->
		
		<div class="div1"></div>
		<button class="btn01">淡入</button>
		<button class="btn02">淡出</button>
		<div class="div2"></div>
		<button class="btn03">缩小</button>
		<button class="btn04">变高</button>
		<div class="div3"></div>
		<button class="btn05">动画</button>

	</body>
	<script>
		$(function() {
			// $('button').click(function() {
			// 	$('div').hide(5000, function() {
			// 		alert('div隐藏完毕');
			// 	});
			// });
			
			
			$('.btn02').click(function(){
				$('.div1').fadeIn(3000,'');
			});
			
			$('.btn01').click(function(){
				$('.div1').fadeOut(3000,'');
			});
			
			$('.btn03').click(function(){
				$('.div2').slideUp(3000,'');
			});
			
			$('.btn04').click(function(){
				$('.div2').slideDown(3000,'');
			});
			
			$('.btn05').click(function(){
				$('.div3').animate({'width': '400px',
				'height': '200px'},3000,'');
			});
			
		});
	</script>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值