• jQuery学习笔记(三)


    jQuery中的事件和动画

    jquery中的事件

    • 加载DOM

    两者等价但有细微区别

     $(document).ready(function(){//编写代码}) 在DOM完全就绪时就可以被调用。可重复使用

    简写  $(function(){//...}) 或者 $().ready(function(){//...}) 

    $(window).load(function(){//编写代码}) 是在网页中所有的元素(包括元素的关联文件)完全加载到浏览器后才执行,即JavaScript此时才可以访问网页中的任何元素。会自动覆盖。

    • 事件绑定

     bind(type[.data].fn); 调用格式

    type事件类型参数:blur, focus, load, resize, scroll, unload, click, dbclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error或者自定义事件

    data:可选参数 :作为event.data属性值传递给事件对象的额外数据对象

    fn参数:用来绑定的处理函数

    • 合成事件

    1.hover()方法 用于模拟光标悬停事件,代替bind("mouseenter")和bind("mouseleave")

     $("selector").hover(enter,leave) 

    2..toggle()方法 用于模拟鼠标连续点击事件,特殊用法:切换元素可见状态

     $("selector").toggle(fn1,fn2,...,fnN) 

    3.高亮样式

     .highlight{background:#ff3300;} 

    • 事件冒泡

    事件对象 : $("element").bind("click",function(event){//event:事件对象...}) 

    当单击element元素时,事件对象被创建,这个对象只有事件处理函数才能访问到。事件处理函数执行完毕后,事件对象就被销毁了。

    停止事件冒泡:event.stopPropagation()

    阻止默认行为:event.preventDefault()

    同时对事件对象停止冒泡和默认行为:return false;

    • 事件对象的属性

    even.type 获取事件类型

    event.stopPropagation() 停止事件冒泡

    event.preventDefault() 阻止默认行为

    even.target 获取到触发事件的元素

    event.relatedTarget 访问事件相关元素

    event.pageX / event.pageY 获取光标相对于页面的x坐标和y坐标

    event.which 在鼠标单击事件中获取鼠标的左、中、右键;在键盘事件中获取键盘的按键(返回值1=鼠标左键;2=鼠标中键;3=鼠标右键)

    event.metaKey 键盘事件中获取<ctrl>按键

    • 移除事件

    1.unbind()方法  $("selector").unbind(type.[data])

    type 事件类型

    data 要移除的函数

    a)如果没有参数,则删除所有绑定的事件

    b)如果提供了事件类型参数,则只删除该类型的绑定事件

    c)如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除

    2.one()方法  $("selector").one(type,[data].fn) 

    当处理函数触发一次后,立即被删除。

    • 模拟操作

    1. 常用模拟  $("#btn").trigger("click");  当页面装载完毕后,就会立刻输出想要的效果

    2.触发自定义事件  $("#btn").trigger(“myClick”) 

    3.传递数据  $("#btn").trigger(type,[data]) 

    • 其他用法

    1.绑定多个事件类型  ("selector").bind("type1 type2",function(){//...}) 

    2.添加事件命名空间  $("selector").bind("type.命名空间",function(){//...}) 

    3.匹配所有不包含在命名空间内的click方法  $("selector").trigger("type!") 


    jQuery中的动画

    • show()方法和hide()方法

     $("selector").show()   $("selector").hide() 

    1.没有参数时等同于通过设置display的样式

    2.传入参数后,.show()和.hide()方法同时动画改变元素的width,height和透明属性

    3.传入参数控制显隐速度,单位毫秒,如.show(600),也可传入fast,normal,slow,fast为200毫秒,normal为400毫秒,slow为600毫秒)

    •  fadeIn()方法和fadeOut()方法

     $("selector").fadeIn()  $("selector").fadeOut() 

    只改变元素的不透明度

    • slideUp()方法和sliDown()方法

     $("selector").slideUp()   $("selector").slideDown() 

    只改变元素高度

    • 自定义动画方法animate()

     $("selector").animate(params,speed,callback); 

    a)params:一个包含样式属性及值的映射,比如{property1:"value1",property2:"value2",...}

    b)speed:速度参数,可选

    c)callback:在动画完成时执行的参数(即回调函数),可选

    • 动画回调函数

    因css()方法不会加入动画队列中,则会马上执行。如若要在动画最后改变selector的css,需要利用回调函数,回调函数适用于jQuery所有的动画效果方法。

    • 停止动画和判断是否处于动画状态

    1.停止元素的动画 结束当前动画,如队列中存在下一个动画则立即执行下一个动画

     $("selector").stop([clearQueue][,gotoEnd]) 

    clearQueue参数为Boolean值(true or false),是否清空当前元素接下来尚未执行完的动画队列

    gotoEnd参数为Boolean值(true or false),是否将正在执行的动画直接到达末状态

    2.判断元素是否处于动画状态

    if(!$("element").is(":animated")){ //判断元素是否正处于动画状态
     //如果当前没有进行动画,则添加新动画
    }
    • 其他动画方法

     toggle(speed,[callback]); 切换元素的可见状态,如元素隐藏则切换为可见,反之亦然

     slideToggle(speed,[callback]); 通过高度变化来切换元素的可见性

     fadeTo(speed,opacity,[callback])  把元素的不透明度以渐进方式调整到指定的值,如$("selector").fadeTo(600,0.2);以600毫秒速度将内容调整到20%透明度

    • 动画方法概括

    toggle() 用来代替hide()和show()
    slideToggle() 用来代替slideUp()和slideDown()
    animate() 可代替所有动画方法

  • 相关阅读:
    搭建WAP应用开发环境
    How To Recover Openfire admin Password
    Domino分区服务器的安装与设置
    apache安全加固
    apache的web文件根目录
    iis绑定域名
    dedecms出现Error: Errno:0 SQL::错误解决方法
    加入收藏兼容ie和火狐
    phpcms毛遂
    .htaccess文件
  • 原文地址:https://www.cnblogs.com/BBeyes/p/7424413.html
Copyright © 2020-2023  润新知