jQuery事件与动画

1 jQuery事件

1.1 mouseenter()与mouseleave()

  1. mouseenter():当鼠标指针穿过(进入)被选元素时。
  2. mouseleave():当鼠标指针离开被选元素时。
  • 附加知识1:mouseenter与 mouseover 事件的区别
    1. mouseenter 事件只有在鼠标指针进入被选元素时被触发
    2. mouseover 事件在鼠标指针进入任意子元素时也会被触发。

  • 附加知识2:mouseleave与 mouseout 事件的区别
    1. mouseleave 事件只有在鼠标指针离开被选元素时被触发
    2. mouseout 事件在鼠标指针离开任意子元素时也会被触发。

1.2 合成事件

  • $(“select”).hover(参数1,参数2)
    - 参数1 : 鼠标移入时调用的函数
    - 参数2 : 鼠标滑出时调用的函数

1.3 模拟事件(jQuery精华)

  • $(“seletor”).trigger(“event”) 会触发默认行为
  • $(“seletor”).triggerHandler(“event”) 不会触发默认行为
  • 实现通过一个事件去操作另一个事件的执行,为了调用自定义的事件(通常与bind或者on事件合作)
  • 模拟事件可以实现传参数给操作的事件

1.4 委托事件(绑定事件)与解绑事件


委托事件:

  1. 概念: 事件委托是利用事件冒泡,只指定一个事件处理程序来管理某一类型的所有事件。让父级来代替本级工作。
  2. $(“select”).bind(“事件1,事件2…”,function(){});
  3. $(“select”).on({“事件1,function(){},事件2:function(){}”});

解绑事件:

  1. $(“select”).unbind(“事件名1 事件名2…”)
  2. $(“select”).off(“事件名1 事件名2…”)

2 jQuery 动画

2.1 显示与隐藏

  1. 显示:$(“对象”).show();
  2. 隐藏:$(“对象”).hide(参数1,参数2);
    • 参数1可以写数字和描述速度的单词,单位是毫秒。
    • 参数2可以写函数,这个函数是等执行完参数1之后再执行 。

2.2 淡入淡出

  1. 淡入:$(“对象”).fadeIn(speed,callback)
  2. 淡出:$(“对象”).fadeOut(speed,callback)
  3. 互斥:$(“对象”).fadeToggle();

2.3 划入划出

  1. 隐藏:$(“对象”).slideUp(speed,callback)
  2. 显示:$(“对象”).slideDown(speed,callback)
  3. 互斥:$(“对象”)…slideToggle(speed,callback)

2.4 动画

2.4.1 自定义动画

  • $(“select”).animate(参数1,参数2,参数3)
    - 参数1 : 对象 {属性名 : 属性值 , …}
    - 参数2 : 速度
    - 参数3 : callback 动画回调 function

2.4.2 延迟动画

  • $(selector).delay(duration).动画方法
    - duration:延迟时间

2.4.3 停止动画

  • $(“p”).stop(参数1,参数2,参数3);
  • jQuery事件与动画

2.4.4判断动画状态

  • 判断元素是否处于动画状态
    l $(“#ele”).is(“:animated”)
    l 说明:动画是顺序执行的。