jQuery_04(事件&动画)

思维导图

 

事件

加载Dom两种方式
    window.onload方式
        执行时间:整个网页中所有内容(包括图片)加载完成后,才会执行
        编写个数:1个
    jQuery方式
        执行时间:网页结构绘制完成后,执行
        编写个数:多个
    两个都有的情况下执行顺序【面试题】
        jQuery3.0:window.onload比jQuery先执行
        jQuery1.0和2.0:jQuery比window.onload先执行
    案例1:测试两种方式的区别【个数+顺序】
绑定事件两种方式
    元素.on("事件名",function(){})
    元素.事件名(function(){})
    案例2:演示事件(鼠标悬停和点击)的两种方式
合成事件/事件切换
    hover():鼠标悬停合成事件
        鼠标移上去第一个函数
        鼠标移除第二个函数
        案例3:升级案例2鼠标悬停显示和隐藏
    toggle():鼠标点击合成事件
        案例4:升级案例2鼠标点击显示和隐藏
事件传播(事件冒泡)
    传播:小-->中-->大
    阻止传播:事件后面加上  return false
    案例5:给body div span(在div中) 分别添加点击事件,测试事件传播
事件坐标
    offsetX:当前元素左上角
    clientX:窗口左上角
    pageX:网页左上角
    案例6:pageX实现 鼠标悬浮,获取鼠标坐标
移除事件:
    元素.unbind("事件名")
    案例7:按钮点击一次,不能再次点击
    注意1:一般情况下,不会使用unbind,推荐使用变量控制事件
    案例8:点击按钮偶数次可以,奇数次则失效
    注意2:如果某个元素只允许使用一次事件,则可以使用one()
    案例9:按钮只允许点击一次

加载函数

window.onload 只会加载一次并且在整个网页中只能编写一次
执行时间:整个网页所有内容全部加载完成之后,才会执行
可以编写一个函数,通过onload调用 
可以在body通过事件属性调用onload
      //JavaScript编写方式
   window.onload = function() {
                console.log("a")
            }
              function add(){                
                console.log(123) ;    
                }        
                window.load()=add();
<body οnlοad="alert(123)"></body>
 

  jQuery方式 
 可以加载多次并且在整个网页中可以编写多次
执行时间:网页结构绘制完成完成后,执行
         //jQuery编写方式
    $(function() {
                console.log("$a")
            })
 jQuery编写的完整方式
  jQuery编写function()方法的完整方式
 
      $(document).ready(function(){
 
           console.log("你好")  
})

$(function(){
				$("#btn2").hover(function(){
					$("div").first().show();
				},function(){
						$("div").first().hide();
				})
				
				
			$("#btn3").click(function(){
				$("div").eq(1).toggle(2000);
			});
			
			$("#pp").click(function(){
				alert("p段落点击");
				return false;
			});
			$("#oDiv").click(function(){
				alert("div点击");
			});
			
			$("body").click(function(){
				// 获取鼠标所点击的位置
				console.log(event.pageX+"  "+event.pageY);
				// 偏移量  算了外边距  内边距
				console.log(event.offsetX+"  "+event.offsetY);
				// 可视区   如果没有滚动条和page 和 offset是一样的
				console.log(event.clientX+"  "+event.clientY);
			})
			});




$(function(){
				$("#btn4").click(function(){
					alert("恭喜你中奖了")
					// 调用  off、unbind 方法后btn4按钮再次点击无效
					// $(this).off();
				$(this).unbind();
					
				})
				
				var i=0;
				$("#btn5").click(function(){
					if(i%2==1){
						alert(i);
					}
					i++;
				});
				
				$("#btn6").one('click',function(){
					alert("只有一次机会")
				})
			})

动画效果


    基本
        显示:show(Time)
        隐藏:hide(Time)
        切换:toggle(Time)
        案例1:点击按钮,控制div显示和隐藏(基本动画)
    滑动
        slideUp(Time):动画收缩(向上滑动)-->隐藏
        slideDown(Time):动画展开(向下滑动)-->显示
        slideToggle(Time):动画切换
        案例2:点击按钮,控制div显示和隐藏(滑动)
    淡入淡出(透明度)
        fadeIn(Time):淡入(透明度减少)
        fadeOut(Time):淡出(透明度增大)
        fadeToggle(Time):切换
        案例3:点击按钮,控制div显示和隐藏(透明度)
    自定义动画
        元素.animate({属性:属性值},Time)
        缩放
            width
            height
        案例4:点击按钮,控制div的宽度和高度变大
        移动
            top
            left
        案例5:点击按钮,控制div移动,距离网页左上角
        移动(本元素),距离
            top=  "+="
            left= "-="
        案例6:点击按钮,控制div移动,距离本元素

	function text1(){
				$("div").first().show();
			}
			function text2(){
				$("div").first().hide();
			}
			
			function text3(){
				$("div").first().toggle(3000)
			}
			
			function text4(){
				$("div").eq(1).slideUp(2000)
			}
			function text5(){
				$("div").eq(1).slideDown(2000)
			}
			
			function text6(){
				$("div").eq(1).slideToggle(2000)
			}
			
			
			function text7(){
				$("div").eq(2).fadeIn(2000)
			}
			function text8(){
				$("div").eq(2).fadeOut(2000)
			}
			function text9(){
				$("div").eq(2).fadeToggle(2000)
			}
			
			
			// 自定义动画
			function text10(){
				$("div").last().animate({
					width:"+=200px",
					height:"+=200px",
					opacity:"0.1"
				})
			}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值