zoukankan      html  css  js  c++  java
  • jquery常用函数与方法汇总

    1.delay(duration,[queueName])

    设置一个延时来推迟执行队列中之后的项目。

    jQuery 1.4新增。用于将队列中的函数延时执行。他既可以推迟动画队列的执行,也可以用于自定义队列。

    duration:延时时间,单位:毫秒

    queueName:队列名词,默认是Fx,动画队列。

    例:

    头部与底部延迟加载动画效果

    $(document).ready(function() {
      $('#header') .css({ 'top':-50 }) .delay(1000).animate({'top': 0}, 800);
      $('#footer') .css({ 'bottom':-15 }) .delay(1000).animate({'bottom': 0}, 800); 
    });
    

      

    2.jQuery live( type, fn ) 委派事件实现

    Query 1.3中新增的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。

    目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。

    还不支持 blur, focus, mouseenter, mouseleave, change, submit

    与bind()不同的是,live()一次只能绑定一个事件。

    这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。

    .live()与流行的liveQuery插件很像,但有以下几个主要区别:

    .live 目前只支持所有事件的子集,支持列表参考上面的说明。

    .live 不支持liveQuery提供的“无事件”样式的回调函数。.live只能绑定事件处理函数。

    .live 没有”setup”和”cleanup”的过程。因为所有的事件是委派而不是直接绑定在元素上的。

    要移除用live绑定的事件,请用die方法

    用法示例:

    <div class=”myDiv”></div>
    

      

    jquery:

    $(“.myDiv”).live(“click”, function(){
    alert(“clicked!”);
    });
    

      

    如果使用javascript动态创建一个class为mydiv的元素,点击元素依然会有弹出。为什么使用live后就有了呢?这是因为jquery利用了事件的冒泡机制,直接把事件绑定在了document上,然后通过event.target找出事件的来源。这跟jquery.livequery插件不一样,jquery.livequery每20毫秒做一次检查,如有新生成则重新绑定一次事件。

    使用live当然有利也有弊:

    好处就是:元素更新时不用反复去定义事件。

    坏处就是:把事件绑定在document上会在页面上每一个元素都呼叫一次,如使用不当会严重影响性能。

    而且不支持blur, focus, mouseenter, mouseleave, change, submit。

    2.移除live绑定的事件

    在Jquery里,使用live来绑定事件,若想移除该事件,要使用die方法。

    如:

    $(“.myDiv”).die("click");
    

      

    这样就好将绑定的click事件移除掉。

    3.JQuery offset(),position()获得绝对,相对位置的坐标方法

    获取页面某一元素的绝对X,Y坐标,可以用offset()方法:(body属性设置margin :0;padding:0;)


    var X = $('#DivID').offset().top;
    var Y = $('#DivID').offset().left;
    

      

    例如:

    $(".produc a span").click(function(){
     $('body, html').animate({scrollTop:$('#buy').offset().top }, 'slow');
     });
    

      

    获取相对(父元素)位置:

    var X = $('#DivID').position().top;
    var Y = $('#DivID').position().left;
    var left = $("selector").offset().left;//元素相当于窗口的左边的偏移量
    var top = $("selector").offset().top;//元素相对于窗口的上边的偏移量
    var pleft = $("selector").scrollLeft();//元素相对于滚动条左边的偏移量
    var pTop = $("selector").scrollTop();//元素相对于滚动条顶部的偏移量
    

      

    4.jquery获取鼠标位置

    $(function () {
         //e为事件名;
         $(document).mousemove(function (e) {
           $("p").text("X:" + e.pageX + "  Y:" + e.pageY);
         });
     
       });
    

      

    5.jquery判断某个元素是否含有某个class,是否存在某些属性,怎样移除某些属性。

    在JQuery编码中,我们会判断元素是否存在某个属性.比如是否包含 class="new" 的样式呢.JQuery判断就非常简单了,因为有 hasClass这个方法 $("input[name=new]").hasClass("new") 即可判断.

    这时就没有现成的方法了. 如果存在某个属性 $("#aid").attr("rel") 会返回 rel的值,如果不存在 rel属性则会返回"undefined"
    undefined 就是 undefined类型 , if($("#aid").attr("rel")=="undefined") 这个判断可能不成立.
    因为类型不相同.

    建议使用 if(typeof($("#aid").attr("rel"))=="undefined") 即可。

    jquery移除某个jquery对象的某个属性: $(".main").removeAttr("style");

    6.jquery stop()的用法(清除动画积累的有效方法)

    1、stop([stopAll], [gotoEnd])方法有两个参数(当然可以不传或直传一个),其中stopAll的意思是清除之后的所有动画。gotoEnd的意思是,执行完当前动画。

    2、stopAll == true时,停止队列中的所有动画, stopAll ==false时,只停止队列中的当前动画,后续动画继续执行。

    3、gotoEnd == true时,立即跳到当前动画的末尾, gotoEnd ==false时,停在当前状态。且gotoEnd只有在设置了stopAll的时候才起作用

    4、在项目中,如果不进行动画队列清理,就会产生动画积累的问题。因此在写入动画时,最好先清除队列中的重复动画。

    在项目中,例如做下拉二级导航效果,用到jquery的slideDown()与slideUp()方法,当鼠标快速晃动后,如果不进行动画队列清理,就会产生动画积累,出现问题。

    例如:

    $(".nav li.has_list").hover(function(){
      $(this).children("a").addClass("curr");
      $(".nav li.has_list").children("div").stop(false,true);
      $(this).children("div").slideDown(400).end();             
    },function(){
      $(this).children("a").removeClass("curr");
      $(".nav li.has_list").children("div").stop(false,true);
      $(this).children("div").slideUp(400).end();
      }
    );
    

      

    以上内容就是本文关于jquery常用函数与方法汇总,希望大家喜欢。

  • 相关阅读:
    Java IO学习3:字节字符转换流
    Java IO学习8:System类对IO的支持
    设计模式(一)单例模式
    复制excel下拉框的数值
    iis7.5+win2008 出现 HTTP Error 503. The service is unavailable.
    php显示当前数据库名称
    解决secureCRT显示中文为乱码
    Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e23 ' [Microsoft][ODBC SQL
    jquery textSlider 文字滚动
    donetcms与Discuz整合的webconfig设置
  • 原文地址:https://www.cnblogs.com/good10001/p/4778151.html
Copyright © 2011-2022 走看看