jQuery04——(事件&动画)

hellohello!我又来啦~今天的小知识来了噢,大家准备接招了吗o~o

目录

                  一.加载Dom两种方式

二.绑定事件两种方式

三.合成事件/事件切换

四.事件传播

五.移除事件

六.事件坐标

七.动画效果


一.加载Dom两种方式

1.window.onload方式

<1>.window.onload方式只会执行一次

<2>.整个网页中所有内容(包括图片)加载完成后,才会执行


2.jQuery方式

<1>.jQuery可以执行多条同样的方法

<2>.网页结构绘制完成后,执行

window.onload=()=>{} //加载事件
		
$(()=>{}) //加载事件(jQuery中的简写形式)

DOM事件:
<1> 点击 click   ondblclick 双击事件
<2>.鼠标 mouseover   mousemove   mouseout   mouseleave   mousewheel(鼠标滑轮)
<3>.键盘 onkeydown(按下)  onkeyup(松开)   onkeypress(按下一次) 
<4>.表单 onsubmit  表单提交    onreset 表单重置        onchange 输入框的值发生改变的时候
<5>.焦点  onblur 失去焦点  onfocus 得到焦点.......
     

二.绑定事件两种方式

1.元素.on("事件名",function(){} )

2.元素.事件名(function(){} )

	
			//元素 .on  (这个on是事件委托)
					$("table").on("click","button",function(){
						$(this).parents("tr").remove();
					})	

this在函数中的用法:

this在正常函数中就是this
this在箭头函数中就是window

三.合成事件/事件切换

1.hover():鼠标悬停合成事件

2.toggle():鼠标点击合成事件

四.事件传播

1.传播方式:从小到大

2.阻止传播:事件后面加上:return false

3.eg:

$("p").click(()=>{
			alert("---") 
			return false;//阻止事件的冒泡
		})

五.移除事件

   元素.unbind("事件名")

温馨提示:1.一般情况下,不会使用unbind,推荐使用变量控制事件

                  2.如果某个元素只允许使用一次事件,则可以使用one()

     

//元素.unbind('事件名')
		 //unbind 绑定
		 $("body").unbind("mousemove");//解除事件

           


六.事件坐标

1.offsetX:当前元素左上角

2.clientX:窗口左上角

3.pageX:网页左上角

代码示例:

$("body").mousemove(e=>{
			//e就是事件对象
			console.log(e.clienX,e.pageX,e.offsetX)
		})


七.动画效果

1.基本

<1>.显示:show(Time)

<2>.隐藏:hide(Time)

<3>.切换:toggle(Time)  【隐藏和显示来回切换】

2.滑动

<1>.slideUp(Time) 动画收缩(向上滑动)->隐藏       

<2>.slideDown(Time) 动画展开(向下滑动)->显示

<3>.slideToggle(Time) 动画切换

3.淡入淡出(透明度)

<1>.fadeIn(Time):淡入(透明度减少)

<2>.fadeOut(Time):淡出(透明度增大)

<3>.fadeToggle(Time):切换(淡入淡出来回切换)

代码示例:

$("div").fadeToggle(5000);

4.自定义动画:

   移动:top  left

$("div").mouseover(function(){
			$(this).animate({
				width:"300px",
				height:"400px",
				 //能让left和top生效,只能用绝对布局position: absolute;
				 // left:"30px",
				 // top:"30px",
			})
		})


八.案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>案例</title>
		<style>
		div{
		width: 100px ;
		height: 200px;	
		background-color: #FF0000;
		display: block;
		margin: auto;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%)%;
		}
		</style>
	 <!-- 导入jQuery文件 -->
	<script src="Index/jquery-3.5.1.js"></script>
	</head>
	<body>
		<div></div>
		<a href="https://www.baidu.com">
			<p>安徽的教授和vi速度v</p>
		</a>
		<button onclick="$('div').toggle(1000)">点我</button>
		<table border>
			<tr>
				<td>🍉🍉🍉</td>
				<td>99.00</td>
				<td>
					<button>删除</button>
				</td>
			</tr>
			
			<tr>
				<td>🍎🍎🍎</td>
				<td>188.00</td>
				<td>
					<button>删除</button>
				</td>
			</tr>
			
			<tr>
				<td>🍓🍓🍓</td>
				<td>299.00</td>
				<td>
					<button>删除</button>
				</td>
			</tr>
		</table>
		<button id="add">增加</button>
		
		<script>
		//js中的事件
		//点击 onclick
		//鼠标 onmouseover onmousemove onmouseout onmouseleave  onmousewheel(鼠标滑轮)
		//键盘 onkeydown(按下)  onkeyup(松开)  onkeypress(按下一次) 
		//onsubmit  表单提交    onreset 表单重置
		//onchange 输入框的值发生改变的时候
		//onblur 失去焦点  onfocus 得到焦点
		//ondblclick 双击事件
		
		//jQuery中的事件就是把on去掉
		//js的事件只有一个
		//jQuery能有多个事件 
		$("div").click(()=>{
			alert("0000");
		})
		
		$("div").click(function(){
			alert("aaaaa");
		})
		
		
		window.onload=()=>{} //加载事件
		
		$(()=>{}) //加载事件(jQuery中的简写形式)
		
		//用jQuery方法进行删除
		$(()=>{
			//当窗口加载完成后,才会调用这个方法
			// $("td button").click(function(){
			//    $(this).parents("tr").remove();
			// })
			
			//元素 .on  (这个on是事件委托)
					$("table").on("click","button",function(){
						$(this).parents("tr").remove();
					})	
			
		//增加方法
		$("#add").click(function(){
			let str=`<tr>
				<td>🍇🍇🍇</td>
				<td>199.00</td>
				<td>
					<button>删除</button>
				</td>
			</tr>`
		    $("table").append(str);
		  })
	  });
		//this在正常函数中就是this
		//this在箭头函数中就是window
		//toggle 控制是否显示的
		
		
		//事件传播(事件冒泡)
		$("p").click(()=>{
			alert("---") 
			return false;//阻止事件的冒泡
		})
		
		//(页面距离)
		$("body").mousemove(e=>{
			//e就是事件对象
			console.log(e.clienX,e.pageX,e.offsetX)
		})
		// unexpected end of input
		// 输入意外终止
		
		//元素.unbind('事件名')
		 //unbind 绑定
		 $("body").unbind("mousemove");//解除事件
		 
		 //toggle(time)隐藏和显示来回切换
		 //slideUp :动画收缩(向上滑动)->隐藏
		 //slideDown:动画展开(向下滑动)->显示
		 //slideToggle:动画切换
		 
		 //重点!:slideToggle
		 
		 //fadeIn(Time):淡入
	 
		 //fadeOut:淡出
	       // $("div").fadeOut(5000);	 
		
		//fadeToggle(Time):淡入淡出来回切换
		$("div").fadeToggle(5000);
		
		$("div").mouseover(function(){
			$(this).animate({
				width:"300px",
				height:"400px",
				 //能让left和top生效,只能用绝对布局position: absolute;
				 // left:"30px",
				 // top:"30px",
			})
		})
		</script>
	</body>
</html>

好啦~今天的知识就到这里了噢,下期见!

日复一日的生活也会有新的快乐.

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值