jQuery-04(事件&动画)

                                  window.onload方式
            执行时间:整个网页中所有内容(包括图片)加载完成后,才会执行
            编写个数:1个
        jQuery方式
            执行时间:网页结构绘制完成后,执行
            编写个数:多个
        两个都有的情况下执行顺序
            jQuery3.0:window.onload比jQuery先执行
            jQuery1.0和2.0:jQuery比window.onload先执行
二:绑定事件两种方式
        元素.on("事件名",function(){})
        元素.事件名(function(){})
 


案例:演示鼠标悬停和点击的两种方式

	<script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			/* 一、事件 */
			//1.1 加载DOM两种方式(区别)
			// 原生态JavaScript加载DOM的方式
			// 当网页全部加载完毕后才会执行的函数,该方式在一个页面上只能出现1次,如果出现多次 会覆盖
 
			// 一个页面同时出现原生态jsDOM和jQueryDOM加载,版本不同,先后顺序不同。3.0版本以前--jQuery先执行,3.0版本以后--原生态JavaScript先执行
 
			$(function() {
				//1.2 绑定事件的两种方式 [eg.:点击、悬停事件等等]
				//--元素.on/bind()
				$("#obtn1").on('click', function() {
					alert("on事件出现")
				})
				$("#obtn1").bind('click', function() {
					alert("bind事件")
				})
				//--元素.事件名
				$("#obtn1").click(function() {
					alert("元素事件")
				})
 
				// 鼠标移入移除事件 mouserover mouseout
				$("#obtn1").mouseover(function() {
					console.log("鼠标移入")
				})
				$("#obtn1").mouseout(function() {
					console.log("鼠标移出")
				})

三:合成事件/事件切换

hover():鼠标悬停合成事件
            鼠标移上去第一个函数
            鼠标移除第二个函数

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


//1.3 合成事件/事件切换
				//--hover()悬停控制元素[div]的显示和隐藏
				$("#odiv").hover(function() {
					$(this).addClass("over")
				}, function() {
					$(this).removeClass("over")
				})
				//--toggle()点击控制元素[div]的显示和隐藏[注意版本问题]
				$("#obtn2").click(function() {
					// 没有传递参数 调用后立即隐藏与显示
					// 有参数(毫秒)调用后有延时效果
					// 多个会覆盖
					$("#odiv").toggle(1000);
					$("#odiv").toggle(function() {
						alert("隐藏中...")
					}, function() {
						alert("出现中...")
					})
				})

 四:事件传播(事件冒泡)
                 传播:小-->中-->大
                 阻止传播:事件后面加上  return false


//1.4 事件的传播(事件冒泡) 小p->中div->大body
				$("body").click(function() {
					alert("事件冒泡了")
				})
				$("#obtn3").click(function() {
					alert("要阻止了")
					return false; //阻止body点击事件
				})

 五:事件坐标
                offsetX:当前元素左上角
                clientX:窗口左上角
                pageX:网页左上角


//1.5 事件event的坐标[pageX,pageY]
				$("body").click(function() {
					// pageX横坐标
					// 鼠标
					console.log(event.pageX, event.pageY);
					// left和top body有默认的margin和padding
					console.log(event.offsetX, event.offsetY);
					// 窗口
					console.log(event.clientX, event.clientY);
 
				})

六: 移除事件
              元素.unbind("事件名")
              注意1:一般情况下,不会使用unbind,推荐使用变量控制事件
              注意2:如果某个元素只允许使用一次事件,则可以使用one()


				//1.6 事件的移除
				//--按钮只能点击一次[2]
				// var flag = true;
				// $("#obtn4").click(function(){
				// 	if(flag == true){
				// 		alert("一次性")
				// 		flag = false;
				// 	}
				// 一次性作用 通过调用解绑事件即可
				// $(this).off();
				// $(this).unbind();//解绑事件
				// })
				//jQuery中提供一个方法one
				$("#obtn4").one('click', function() {
					alert("jQuery方法一次性")
				})
 
				//--按钮点击偶数次可行 奇数次不行
				var num = 1;
				$("#obtn5").click(function() {
					if (num % 2 == 0) {
						console.log("点击了" + num)
					}
					num++;
					console.log(num)
				})
 
			})
		</script>
	</head>

完整代码:


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			/* *{margin: 0px;padding: 0px;} */
			.over {
				border: 50px solid salmon;
			}
		</style>
		<script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			/* 一、事件 */
			//1.1 加载DOM两种方式(区别)
			// 原生态JavaScript加载DOM的方式
			// 当网页全部加载完毕后才会执行的函数,该方式在一个页面上只能出现1次,如果出现多次 会覆盖
 
			// 一个页面同时出现原生态jsDOM和jQueryDOM加载,版本不同,先后顺序不同。3.0版本以前--jQuery先执行,3.0版本以后--原生态JavaScript先执行
 
			$(function() {
				//1.2 绑定事件的两种方式 [eg.:点击、悬停事件等等]
				//--元素.on/bind()
				$("#obtn1").on('click', function() {
					alert("on事件出现")
				})
				$("#obtn1").bind('click', function() {
					alert("bind事件")
				})
				//--元素.事件名
				$("#obtn1").click(function() {
					alert("元素事件")
				})
 
				// 鼠标移入移除事件 mouserover mouseout
				$("#obtn1").mouseover(function() {
					console.log("鼠标移入")
				})
				$("#obtn1").mouseout(function() {
					console.log("鼠标移出")
				})
				//1.3 合成事件/事件切换
				//--hover()悬停控制元素[div]的显示和隐藏
				$("#odiv").hover(function() {
					$(this).addClass("over")
				}, function() {
					$(this).removeClass("over")
				})
				//--toggle()点击控制元素[div]的显示和隐藏[注意版本问题]
				$("#obtn2").click(function() {
					// 没有传递参数 调用后立即隐藏与显示
					// 有参数(毫秒)调用后有延时效果
					// 多个会覆盖
					$("#odiv").toggle(1000);
					$("#odiv").toggle(function() {
						alert("隐藏中...")
					}, function() {
						alert("出现中...")
					})
				})
				//1.4 事件的传播(事件冒泡) 小p->中div->大body
				$("body").click(function() {
					alert("事件冒泡了")
				})
				$("#obtn3").click(function() {
					alert("要阻止了")
					return false; //阻止body点击事件
				})
 
				//1.5 事件event的坐标[pageX,pageY]
				$("body").click(function() {
					// pageX横坐标
					// 鼠标
					console.log(event.pageX, event.pageY);
					// left和top body有默认的margin和padding
					console.log(event.offsetX, event.offsetY);
					// 窗口
					console.log(event.clientX, event.clientY);
 
				})
 
				//1.6 事件的移除
				//--按钮只能点击一次[2]
				// var flag = true;
				// $("#obtn4").click(function(){
				// 	if(flag == true){
				// 		alert("一次性")
				// 		flag = false;
				// 	}
				// 一次性作用 通过调用解绑事件即可
				// $(this).off();
				// $(this).unbind();//解绑事件
				// })
				//jQuery中提供一个方法one
				$("#obtn4").one('click', function() {
					alert("jQuery方法一次性")
				})
 
				//--按钮点击偶数次可行 奇数次不行
				var num = 1;
				$("#obtn5").click(function() {
					if (num % 2 == 0) {
						console.log("点击了" + num)
					}
					num++;
					console.log(num)
				})
 
			})
		</script>
	</head>
	<body>
		<button type="button" id="obtn1">obtn1事件</button>
		<br>
		<br>
		<div id="odiv" style="width: 100px;height: 100px;background-color: #DDA0DD">
 
		</div>
		<button type="button" id="obtn2">obtn2</button>
		<button type="button" id="obtn3">obtn3</button>
		<button type="button" id="obtn4">obtn4</button>
		<button type="button" id="obtn5">obtn5</button>
	</body>
</html>

                                       动画

一: 基本
          显示:
                  show(Time)
          隐藏:
                  hide(Time)
          切换:
                  toggle(Time)

演示

<script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
		<script>
			$(function() {
				$(d1).click(function() {
					//让图片隐藏
					$("img").hide(3000)
				})
 
				$(d2).click(function() {
					//让图片显示
					$("img").show(3000)
				})
 
				$(d3).click(function() {
					//让图片显示
					$("img").toggle(3000)
				})

二:滑动
        slideUp(Time):
                       动画收缩(向上滑动)-->隐藏 

        slideDown(Time):
                      动画展开(向下滑动)-->显示

        slideToggle(Time):
                        动画切换
演示:

	$(d4).click(function() {
					//让图片显示
					$("img").slideUp(3000)
				})
 
				$(d5).click(function() {
					//让图片显示
					$("img").slideDown(3000)
				})

三: 淡入淡出(透明度)

        fadeIn(Time):
                       淡入(透明度减少)

        fadeOut(Time):
                       淡出(透明度增大)

        fadeToggle(Time):
                        切换
演示

			$(d6).click(function() {
					//让图片显示
					$("img").fadeIn(3000)
				})
 
				$(d7).click(function() {
					//让图片显示
					$("img").fadeOut(3000)
				})
			})
		</script>
	</head>


   四:自定义动画

        元素.animate({属性:属性值},Time)

        缩放
                  width
                  height
        移动
                   top
                   left
        移动(本元素)距离
                   top=  "+="
                   left= "-="
 


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>爱心表情包变化</title>
		<script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
		<script>
			$(function() {
				$(d1).click(function() {
					//让图片隐藏
					$("img").hide(3000)
				})
 
				$(d2).click(function() {
					//让图片显示
					$("img").show(3000)
				})
 
				$(d3).click(function() {
					//让图片显示
					$("img").toggle(3000)
				})
 
				$(d4).click(function() {
					//让图片显示
					$("img").slideUp(3000)
				})
 
				$(d5).click(function() {
					//让图片显示
					$("img").slideDown(3000)
				})
 
				$(d6).click(function() {
					//让图片显示
					$("img").fadeIn(3000)
				})
 
				$(d7).click(function() {
					//让图片显示
					$("img").fadeOut(3000)
				})
			})
		</script>
	</head>
 
	<body>
		<img src="./img/1.gif" alt="">
		<button id="d1">点我隐藏</button>
		<button id="d2">点我显示</button>
		<button id="d3">点我切换</button>
		<button id="d4">点我向上</button>
		<button id="d5">点我向下</button>
		<button id="d6">点我淡入</button>
		<button id="d7">点我淡出</button>
	</body>
 
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 2款jQuery图片自动切换常用广告代码 2. jquery+css五屏焦点图淡入淡出+圆形按钮切换广告图片代码 3. jQuery+CSS实用图片收缩与放大效果插件 4. jquery+div实现同时滑动切换的图文展示特效插件下载 5. jquery+div带动画按钮图片手动与自动切换的特效代码 6. jquery一页多用的飞飞图片幻灯插件演示 7. jquery仿flash产品图片多角度展示特效代码 8. jquery仿flash图片放大相册的插件代码(Zoomer Gallery)下载 9. jquery仿flash的图片幻灯片播放特效实例完整版 10. jquery仿LightBox图片盒子单击逐渐放大的图片展示的插件下载 11. jquery仿Lightbox的插件jQuery UI.ariaLightbox点击图片放大显示插件下载 12. jQuery仿动感flash自动滚动图片切换广告插件 13. jQuery仿新浪新闻图片浏览器(支持鼠标左右滚动控制图片切换) 14. jquery仿苏宁易购商城产品图片全方位展示功能 15. jquery制作漂亮按钮示例打包 16. jQuery动态切换网页背景的大块图片的导航栏代码 17. jquery图文排行混合互相切换效果(仿Vancl效果) 18. jQuery图片插件之鼠标放在图片上出现动态的hover效果插件 19. jQuery图片自动轮播淡入淡出的幻灯插件iFadeSlide 20. jQuery大气banner带时间线自动播放的焦点图轮番切换代码 21. jquery定时自动切换banner广告图片动画插件示例 22. jquery实现LightBox图片点击放大效果的图片盒子插件 23. jQuery实现slider图片滚动,单个滚动,成组滚动示例 24. jQuery实现产品图片循坏旋转的代码 25. jQuery实现动态图文分组排序切换源码 26. jQuery实现图片3D旋转特效插件 v1.1版本下载 27. jQuery实现图片3D立体感的前后轮番展示特效 28. jQuery实现图片取景器仿相机拍照功能的插件photoShoot 29. jQuery实现图片变色特效插件与实例下载如jquery图片变灰色 30. jquery实现图片可拖动展示的实例下载 31. jQuery实现拖动滚动条的缩略图排列插件下载 32. jQuery实现焦点图片Flash自动平滑渐变效果 33. jQuery实现鼠标移到链接提示显示图片功能插件 34. jquery实现鼠标经过链接放大图片特效代码 35. jquery实用Banner大图片横向切换效果 36. jquery实用产品图片展示动感切换效果源码 37. jquery平滑交换真彩色的图片逐渐变为黑白图像的代码 38. jquery异步加载图片的插件jqGalScroll下载 39. jquery微型相册插件Micro Image Gallery下载 40. jQuery把图片放大及变亮特效插件下载 41. jquery拖动滚动条控制图片滚动及图片放大特效的示例 42. jquery旋转式图片切换并带图片放大功能 43. jQuery漂亮网页右上角双层撕角广告代码 44. jquery漂亮网页布局综合定时器、切换间隔、滚动时间、滚动图片个数等示例 45. jQuery演示Ajax加载并显示图片的相片画廊实例 46. jQuery版Sexy Lightbox 2.3内容修饰框插件下载(支持HTML,flash,图片,视频等) 47. jquery版自动滚动图片动画特效插件可处理图片JSON数据源 48. jQuery电子商务网站产品展示插件之仿苏宁易购商城产品图展示特效 49. jquery相册播放器插件实现无序图片列表转换成有序并播放 50. jQuery移动网页背景图浮云流水特效 51. jquery简单控制上下、左右四方向滚动的特效插件下载 52. jquery缩略图滚动特效之带小图的网页元素滚动轮播插件 53. jquery网站顶部滑动广告插件 54. jquery自动播放图片滚动漂浮式效果的示例 55. jquery贴图旋转及缩放插件下载 56. jquery门户网站首页全屏弹性伸缩至小屏的广告代码(非常实用) 57. jQuery黑色动感Ajax无刷新动态分组图片效果代码 58. jquery黑色风格左右带箭头的图片浏览控制插件下载 59. jQuery鼠标滑动图片显示标题与简介的滑动动感特效代码 60. jQuery鼠标移上小图显示大缩略图功能 61. js仿淘宝网鼠标经过缩略图放大图片效果的jQuery Fancy Hover Effect完整实例 62. Supersized jQuery全屏相册图片自动切换插件 63. [荐]jquery仿flash漂亮横向图片滚动效果完整版(兼容性非常好) 64. [荐]jQuery焦点图幻灯切换插件Tab选项卡(soChange 1.4)下载 65. 一款jQuery仿flash放大图片的相册插件 66. 一款jQuery仿苹果mac os系统经典菜单效果源码 67. 一款jQuery动感左右滚动图片切换插件带缩图一起滚动 68. 一款jQuery实现banner图片轮显、广告切换、图片幻灯插件EasySlide下载 69. 一款jquery实现图片放大插件imgBox下载 70. 一款jQuery实现漂亮精美相册插件源码 71. 一款jQuery左右箭头控制大图滚动切换的代码 72. 一款jquery常用产品图片放大效果插件下载 73. 一款jQuery插件slide幻灯片切换图片宽高自适应 74. 一款jQuery漂亮淡出淡入焦点大图切换源码 75. 一款jquery缩略图商品切换放大展示功能插件 76. 一款使用jQuery左右控制横向图片滚动的代码 77. 一款基于jquery定时图片切换代码下载 78. 一款实用经典jQuery图片切换展示插件下载 79. 下载jQuery动感广告图片翻转插件(PictureRoll)示例版 80. 下载JQuery淡入淡出效果插件InnerFade 81. 下载jquery走马灯效果图片连续滚动的实例 82. 几种简单实用jQuery焦点图片自动切换效果 83. 分享jquery仿LightBox动感多样式图片放大插件zoomimage下载 84. 分享jquery仿当当网店铺图片轮番切换(同时显示图片说明)代码下载 85. 分享一款jQuery thumbnail惟美的图片Tip提示效果 86. 分享一款jquery仿lightbox无刷新图片显示插件PrettyPhoto下载 87. 分享多款jQuery图片预加载切换效果(上下滚动、淡入淡出渐变等) 88. 动感十足jquery仿腾讯图片滚动浏览功能(带左右控制按钮)MovingBoxes插件下载 89. 参考JQZOOM插件使用jQuery仿京东网产品展示切换及放大效果的代码 90. 又一款jquery自动轮播焦点图+内容的广告代码 91. 又一款非常不错的jQuery+div大气新闻图片切换插件代码(AnythingSlider)下载 92. 基于jQuery带时间轴宽屏图片切换源码 93. 基于jQuery的横向无缝图片滚动插件jcarousel 94. 实用jquery焦点图源码2 95. 常用jQuery新闻焦点图片切换效果插件 96. 强大jQuery实现3D文字三维旋转效果代码下载 97. 很帅的jquery焦点图切换源码可用于产品大图展示 98. 很帅的jQuery鼠标移动预览图展示+简介内容展示特效代码 99. 打包jQuery实用3个焦点图切换自动切换特效的代码 100. 打包jquery拖动条拖动图片缩略图及放大图片效果插件(翻版thickbox插件)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值