zoukankan      html  css  js  c++  java
  • jQuery的事件处理 动画

    事件处理
     
     
    事件绑定的快捷方式
    缺点:绑定的事件无法取消
    $("button:eq(0)").dblclick(function(){ alert(123) });
    使用on进行事件绑定
    ①使用on进行单事件绑定
    $("button:eq(0)").on("click",function(){       alert(123) })
    ②使用on同时给多个事件绑定同一函数
    $("button:eq(0)").on("click dblclick mouseover",function(){ console.log(123) })
    ③使用on同时给多个事件分别绑定不同的函数
    $("button:eq(0)").on({
        "click":function(){ console.log(click) }
        "mouseover":function(){ console.log(mouseover) } });
    ④使用on给回调函数传参,要求是对象格式,传递的函数可以用e.data取到
    $("button:eq(0)").on("click", {"name":"kk","age":14},function(e){
        console.log(e)
        console.log(e.data)
        console.log(e.data.name)
         })
     
    使用on进行事件委派
    事件委派  将原本绑定在DOM节点上的事件,改为绑定在其父节点甚至根节点上,然后委派给当前节点执行
        $("p").on("click", function(){})
                        ↓
        $(document).on("click", "p",function(){ })                
    事件委派的作用 
      1.将事件直接绑定在根节点上,可以减少事件绑定次数,更加节省资源
      2.使用事件委派绑定的事件,当页面新增同类型标签时,新的标签页可以获得绑定的已有事件
     
    使用off进行事件解绑
    $(document).off("click", function(){alert(123) });
    function func(){alert(12) }
    $("button:eq(0)").on("click",func);
     
    $("button:eq(0)").off("click",func);//只清除了绑定func函数的click事件
    $("button:eq(0)").off("click");//清除所有的click事件
     
    $("button:eq(0)").off("click dblclick");//同时清除多个事件
    $(document).off("click","p");//清除事件委派
     
    $("p").off( );//清除绑定的所有事件
     
    one  绑定的事件只能出现一次
    $("button:eq(0)").one("click", function(){ alert("一次") });
     自动触发事件
    trigger 自动触发某个节点绑定的事件
    接收两个参数
      ①需要触发的事件类型
      ②数组格式  传递给事件回调函数的参数
    注意     事件回调函数的第一个参数,必须是事件对象,因此我们传递的参数从第二个开始接收
          传递的参数 可以使用arguments进行读取
    triggerHandler用法与trigger相同
     
    triggerHandler 与 trigger的区别
    ①triggerHandler  不能触发HTML事件  例如from表单中的submit事件  trigger 可以触发所有事件
    ②triggerHandler只能触发所有匹配元素中的第一个元素的事件  trigger 将触发所有匹配元素的事件
    ③triggerHandler的返回值是事件回调函数的返回值如果事件回调函数没有返回值,则返回undefined
        trigger 的返回值永远是调用事件的DOM对象,符合JQuery的可链式语法
    $("button:eq(0)").trigger("click",function(e,a,b,c){
      console.log(e)
      console.log(a)
      console.log(b)
      console.log(c)
      console.log(arguments[2])
    })
     
               setTimeout(function(){
            $("button:eq(0)").trigger("click",[1,2,3]).text("1")
            $("button:eq(0)").triggerHandler("click",[1,2,3])
     
            $("form:eq(0)").trigger("submit")
            $("form:eq(0)").triggerHandler("submit")
    },3000)
     
    hover 接受两个函数 分别表示mouseover()mouseout()两个事件
    如果只写一个函数 表示mouseover()
    $("p:eq(0)").hover(function(){
    $(this).css("background-color","beige")
    },function(){
    $(this).css("background-color","red")
    });
     
    toggle
    ①不传参数表示   当前元素为显示状态  则隐藏     当前元素为隐藏状态  则 显示
    ②传入一个动画执行效果 "fast "  "slow"  "ease"
    ③传入一个函数   表示   隐藏或显示动画 完成后执行的回调函数
    ④接受一个Boolean类型的参数  如果传入的是true则显示当前元素     如果传入的是false则隐藏当前元素
    $("button:eq(0)").on("click",function(){
    
    $("p:eq(0)").toggle()
     
    $("p:eq(0)").toggle("fast")
     
    $("p:eq(0)").toggle("fast",function(){   
           alert(123)
    })
    动画
     
    show 让隐藏的元素显示    同时修改 宽度高度透明度
    不传参,将会直接显示而不进行动画      参数传入时间毫秒,或者表示速度的字符串("slow","normal", or "fast")则将在指定时间内完成动画
    参数也可以传入回调函数,表示动画完成后执行的回调
     
    hide 让显示的元素隐藏 效果与show相反
    $("#div1").show(3000,function(){
    alert(123)
    });
    $("#div1").hide(3000,function(){
    alert(123)
    });
    slideDown      让隐藏的元素显示  修改height属性
    slideUp           让显示的元素隐藏  修改height属性
    slideToggle     让隐藏的元素显示  让显示的元素隐藏
    $("#div1").slideDown(3000,function(  )  {   alert(123)      });
    $("#div1").slideToggle(3000,function(){    alert(123) });
     .fadeIn       让隐藏的元素显示  修改透明度opacity属性
    .fadeOut     让显示的元素隐藏  修改透明度opacity属性
    .fadeTo       让隐藏的元素显示  让显示的元素隐藏  第二个参数表示动画最终的透明度
    $("#div1").fadeIn(3000,function(){ alert(123)  });
    $("#div1").fadeOut(3000,function(){    alert(123) });
    $("#div1").fadeToggle(3000,function(){
    $("#div1").fadeToggle(3000,function(){
    alert(123)
    });
    $("#div1").fadeTo(3000,function(){ alert(123) });
     
    animate 自定义动画 接收四个参数
    ①动画完成后最终状态的css键值对集合    注意 css的样式要求使用驼峰式命名法
    ②动画完成的时间  传入时间毫秒,或者表示速度的字符串("slow","normal", or "fast")
    ③动画完成的效果   可选值有"linear" 和 "swing"
    ④动画完成时的回调函数
     
    $("#div1").animate({"0px",opacity:0},3000,"linear",function(){ alert(123) });
     
    stop 停止当前节点的所有动画,后续动画将不再执行,动画回调将不再调用
    finish 直接结束当前节点的所有动画,动画直接进入最后状态,直接调用动画回调
    delay 动画延时  表示延时多少毫秒后再执行动画
    $("button:eq(0)").on("click",function(){
    $("#div1").stop();
    $("#div1").finish(); })
            $("#div1").animate({
    "0px",
    opacity:0
       },3000,"linear").delay(3000).animate({
        fontSize:"48px"
        },3000,"linear"))
     
     
     
     
     

  • 相关阅读:
    正向代理和反向代理
    Unicode
    utf-8
    ISO 8895-1
    ProtocalBuffers学习记录
    C#基础知识
    MSBuild学习记录
    Linux学习笔记
    Jenkins学习记录
    CruiseControl.Net学习记录
  • 原文地址:https://www.cnblogs.com/fylong/p/9033706.html
Copyright © 2011-2022 走看看