jQuery库的简单使用:jQuery 中的事件:绑定,移除,合成,事件冒泡,事件对象的属性,

jQuery 中的事件

在页面加载完毕后, 浏览器会通过 JavaScript 为 DOM 元素添加事件. 
在常规的 JavaScript 代码中, 通常使用 window.onload 方法, 
在 jQuery 中使用$(document).ready() 方法.

在这里插入图片描述

事件绑定:

bind()

合成事件

hover(): 模拟光标悬停事件. 当光标移动到元素上时, 会触发指定的第一个函数, 
当光标移出这个元素时, 会触发指定的第二个函数.
toggle(): 用于模拟鼠标连续单击事件. 第一次单击元素, 触发指定的第一个函数, 
当再一次单击同一个元素时, 则触发指定的第二个函数, 如果有更多个函数, 则依次触发, 直到最后一个.
toggle() 的另一个作用: 切换元素的可见状态.

事件冒泡

事件会按照 DOM 层次结构像水泡一样不断向上只止顶端
解决: 在事件处理函数中返回 false, 会对事件停止冒泡. 还可以停止元素的默认行为.

事件对象的属性

事件对象: 当触发事件时, 事件对象就被创建了. 
在程序中使用事件只需要为函数添加一个参数. 该事件对象只有事件处理函数才能访问到. 
事件处理函数执行完毕后, 事件对象就被销毁了.
event.pageX, event.pageY: 获取到光标相对于页面的 x, y 坐标.

移除事件

移除某按钮上的所有  click 事件: $(“btn”).unbind(“click”)
移除某按钮上的所有事件: $(“btn”).unbind();
one(): 该方法可以为元素绑定处理函数. 当处理函数触发一次后, 立即被删除.
即在每个对象上, 事件处理函数只会被执行一次.

练习

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link href="css/style.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="scripts/jquery-1.7.2.js"></script>
<script type="text/javascript">
	//为 .head 添加 Onclick 响应函数: 若 .content 隐藏则显示, 若 .content 显示, 则隐藏
	$(function() {
		/*
		$(".head").click(function(){
			//使用 is() 方法, 来判断某个给定的 jQuery 对象是否符合指定
			//的选择器. 
			var flag = $(".content").is(":hidden");
			
			if(flag){
				//show() 方法: 使隐藏的变为显示
				$(".content").show();
			}else{
				$(".content").hide();
			}
		});
		 */

		//bind: 为某 jQuery 对象绑定事件. 
		/*
		$(".head").bind("click", function(){
			//使用 is() 方法, 来判断某个给定的 jQuery 对象是否符合指定
			//的选择器. 
			var flag = $(".content").is(":hidden");
			
			if(flag){
				//show() 方法: 使隐藏的变为显示
				$(".content").show();
			}else{
				$(".content").hide();
			}
		});
		 */

		//mouseover: 鼠标移上去
		//mouseout: 鼠标移出. 
		/*
		$(".head").mouseover(function(){
			$(".content").show();
		}).mouseout(function(){
			$(".content").hide();
		});
		 */

		//合成事件: hover: 鼠标移上去执行第一个函数, 移出执行第二个函数. 
		/*
		$(".head").hover(function(){
			$(".content").show();
		}, function(){
			$(".content").hide();
		});
		 */

		//合成事件: toggle: 第一次点击执行第一个函数, 第二次点击执行第二个
		//函数 ... 循环执行. 
		$(".head").toggle(function() {
			$(".content").show();
		}, function() {
			$(".content").hide();
		});
	})
</script>
</head>
<body>
	<div id="panel">
		<h5 class="head">什么是jQuery?</h5>
		<div class="content">jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由
			John Resig
			创建于20061月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。
		</div>
	</div>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<style type="text/css">
* {
	margin: 0;
	padding: 0;
}

body {
	font-size: 13px;
	line-height: 130%;
	padding: 60px;
}

#content {
	width: 220px;
	border: 1px solid #0050D0;
	background: #96E555;
}

span {
	width: 200px;
	margin: 10px;
	background: #666666;
	cursor: pointer;
	color: white;
	display: block;
}

p {
	width: 200px;
	background: #888;
	color: white;
	height: 16px;
}
</style>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
	$(function() {
		//事件的冒泡: 什么是事件的冒泡
		$("body").click(function() {
			alert("body click");
		});
		$("#content").click(function() {
			alert("div click");
		});
		$("span").click(function() {
			alert("span click");
			//如何解决事件的冒泡: 通过在响应函数的结尾返回 false, 可以阻止冒泡. 
			return false;
		});
	})
</script>
</head>
<body>
	<div id="content">
		外层div元素 <span>内层span元素</span> 外层div元素
	</div>
	<div id="msg"></div>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<style type="text/css">
* {
	margin: 0;
	padding: 0;
}

body {
	font-size: 13px;
	line-height: 130%;
	padding: 60px;
}

#content {
	width: 220px;
	border: 1px solid #0050D0;
	background: #96E555;
}

span {
	width: 200px;
	margin: 10px;
	background: #666666;
	cursor: pointer;
	color: white;
	display: block;
}

p {
	width: 200px;
	background: #888;
	color: white;
	height: 16px;
}
</style>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
	/*
	1. 事件: 当鼠标移动时, 就会触发 mousemove 事件. 
	2. 如何得到事件对象: 在响应函数中添加一个参数就可以. 
	3. 事件对象的两个属性: pageX,pageY
	 */
	$(function() {
		//事件的 pageX, pageY 属性
		$("body").mousemove(function(obj) {
			$("#msg").text("x: " + obj.pageX + ", y: " + obj.pageY);
		});
	})
</script>
</head>
<body>
	<div id="content">
		外层div元素 <span>内层span元素</span> 外层div元素
	</div>
	<div id="msg"></div>
	<br>
	<br>
	<a href="http://www.hao123.com">WWW.HAO123.COM</a>
</body>
</html>

jQuery 中的动画: 隐藏和显示

hide(): 在 HTML 文档中, 为一个元素调用 hide() 方法
	会将该元素的 display 样式改为 none. 代码功能同 css(“display”, “none”);
show(): 将元素的 display 样式改为先前的显示状态.
以上两个方法在不带任何参数的情况下, 作用是立即隐藏或显示匹配的元素, 
不会有任何动画. 可以通过制定速度参数使元素动起来.
以上两个方法会同时减少(增大)内容的高度, 宽度和不透明度.

fadeIn(), fadeOut(): 只改变元素的透明度. 
fadeOut() 会在指定的一段时间内降低元素的不透明度, 直到元素完全消失. 
fadeIn() 则相反.

slideDown(), slideUp(): 只会改变元素的高度. 
如果一个元素的 display 属性为 none, 当调用 slideDown() 方法时, 
这个元素将由上至下延伸显示. slideUp() 方法正好相反, 元素由下至上缩短隐藏. 

toggle(): 切换元素的可见状态: 如果元素时可见的, 则切换为隐藏; 如果元素时隐藏的, 则切换为可见的. 
slideToggle(): 通过高度变化来切换匹配元素的可见性. 
fadeTo(): 把不透明度以渐近的方式调整到指定的值(01 之间). 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
	//演示动画效果: show() 和 hide() 方法中传入毫秒数以达到动画的效果
	/*
	$(function(){ 
		$(".head").toggle(function(){
			$(".content").show(1000);
		}, function(){
			$(".content").hide(1000);
		});
	})
	 */

	//只改变高度
	/*
	$(function(){ 
		$(".head").toggle(function(){
			$(".content").slideDown(500);
		}, function(){
			$(".content").slideUp(500);
		});
	})
	 */

	//只改变透明度
	/*
	$(function(){ 
		$(".head").toggle(function(){
			$(".content").fadeIn(1000);
		}, function(){
			$(".content").fadeOut(1000);
		});
	})
	 */

	//toggle() 可以切换元素的可见状态. 
	//slideToggle(): 通过高度变化来切换匹配元素的可见性
	//fadeToggle(): 通过透明度来切换元素的可见性.
	//fadeTo(): 把不透明度以渐近的方式调整到指定的值 (0 – 1 之间). 
	$(function() {
		$(".content").show();
		var i = 1;

		$(".head").click(function() {
			//$(".content").toggle();
			//$(".content").slideToggle();
			//$(".content").fadeToggle();

			$(".content").fadeTo("slow", i);
			i = i - 0.1;
		});
	})
</script>
</head>
<body>
	<div id="panel">
		<h5 class="head">什么是jQuery?</h5>
		<div class="content">jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由
			John Resig
			创建于20061月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。
		</div>
	</div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReflectMirroring

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值