zoukankan      html  css  js  c++  java
  • JQuery学习笔记(4)JQuery中的事件和动画

    JQuery中的事件和动画

    1.JQuery中的事件

             1.1 加载DOM

                       以浏览器装载文档为例,在页面加载完毕后,浏览器为通过JavaScript为DOM元素添加事件。JQuery用$(document).ready()来代替JavaScript中的window.onload方法。两者具有以下区别:

                       -1. 执行时机

                                window.onload是在网页中所有的元素(包括元素的关联文件)完全加载到浏览器后才执行,即JavaScript此时才可以访问网页中的任何元素。

                                $(document).ready()在DOM完全就绪时就可以被调用。

                                显然,把网页解析为DOM树的速度要比把网页中的所有关联文件加载完毕来得快。但是需要注意的是由于$(document).ready()只要DOM就绪就会执行,此时关联的文件可能还没有完全加载完,如图片,如果此时获取图片高度和宽度的属性就不一定准确,解决的方法可以使用JQuery中另一个关于页面加载的方法—load()方法

                                         $(window).load(function(){

                                         // Your code

                                         })

                       -2. 多次执行

                                JavaScript的onload事件一次只能保存对一个函数的引用,他会自动用后面的函数函数覆盖前面的函数。

                                window.onload = function1;//无效,被function2覆盖

                                window.onload = function2;

                                而每次调用$(document).ready()都会在现有的行为上追加新的行为

                                $(document).ready(function(){

                                         function1();//有效

                                })

                                $(document).ready(function(){

                                         function2();//有效

                                })

                       -3. 简写方式

                                以下三种方式等价:

                                $(document).ready(function(){

                                         // Your Code

                                })

                                $(function(){

                                         // Your Code

                                })//第一种的简写

                                $().ready(function(){

                                         // Your Code

                                })//$(document)简写为$()

             1.2 事件绑定

                       bind(type [,data],fn)文档装载完后,可以通过bind来绑定事件

                                type:事件类型,如blur, focus, load, resize, scroll, unload, click, dbclick, mousedown, mouseup, mouseover, mousemove, mouseout, mouseenter, mouseleave, change, select, submit, keyperss, keyup, keydown, error等,当然也可以是自定义名称。

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

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

                       -1. 基本效果

                                $(function(){

             $(“#head”).bind(“click”,function(){

             $(this).next(“div.content”).show();

    })

    })

                       -2. 简写效果

                                click,mouseover,mouseout这些事件经常使用到,JQuery提供了一些简写方法,如:

                                $(“#head”).click(function(){

             $(this).next(“div.content”).show();

    }       

    )

                       -3.合成事件

                                ·hover(enter,leave)模拟光标悬停事件,光标移动到元素上时触发enter事件,光标离开时触发leave事件,例:

    $(document).ready(function(){
    $(
    "#fruit").hover(function(){
    $(this).next("ul").show();
    },function(){
    $(this).next("ul").hide();
    })
    })

                                toggle(fn1, fn2, ... , fn)模拟鼠标连续单击事件,第一次点击触发f1事件,以此类推,例:

    $(document).ready(function(){
    $(
    "#fruit").toggle(function(){
    $(
    this).next("ul").show();
    },
    function(){
    $(this).next("ul").hide();
    })
    })

             1.3.事件冒泡

                       如下图,div, li, ul 都绑定了同样的click事件F1(), 当我们点击ul元素时,就会触发函数F1三次,且顺序为ul→li→div,此即由事件冒泡引起的。

    <div onclick="F1();">
    <li onclick="F1();">
    <ul onclick="F1();"></ul>
    </li>
    </div>

                       防止方法:

                       -1. 事件对象,在程序中使用事件对象很简单,只需为函数添加一个参数,如:

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

                                // Your code

    })

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

    2. JQuery中的动画皆可以使用参数 

             2.1 show() & hide():等同于通过设置display的样式

                    可以添加参数(“slow”:600ms,”normal”:400ms, “fast”:200ms,100:100ms),采用同时增加/减少高度、宽度、透明度来实现的。

             2.2 fadeIn() & fadeOut(),只改变元素的不透明度

             2.3 slideUp() & slideDown(),只改变元素的高度
  • 相关阅读:
    shell 字符串切分成数组
    RDD关键性能考量之 内存管理
    RDD关键性能考量之 序列化格式
    【转】Linux ln(link) 命令详解
    【转】redis配置认证密码
    【转】MongoDB 知识要点一览
    RDD关键性能考量之 并行度
    使用thumbnailator不按照比例,改变图片的大小
    Linux服务器redhat配置本地yum源
    Oracle表字段的增删改和重命名
  • 原文地址:https://www.cnblogs.com/tian2010/p/2016616.html
Copyright © 2011-2022 走看看