浅谈jquery高级方法描述与应用

1.addBack()

a. third-item的 li 下几个相邻节点(包括third-item)

$( "li.third-item" ).nextAll().addBack().
 .css( "background-color", "red" );

b. 和end()方法类似,选中的是div.after-addback和p元素,end选中的是div.after-addback元素

$( "div.after-addback").find("p").addBack().addClass("background");
$( "div.after-addback").find("p").end().addClass("background"); 

2.callback.fire()

通过参数调用foo函数

var foo = function(value){
  console.log( "foo:" + value );
}
var callbacks = $.Callbacks();
callbacks.add(foo);
callbacks.fire("hello");
callbacks.fire("world");

3.callback.lock()

锁住callback函数列表,这个方法不能接受任何参数。

var foo = function( value ) {
 console.log( "foo:" + value );
};
var bar = function( value ){
 console.log( "bar:" + value );
}
var callbacks = $.Callbacks();
callbacks.add( foo );
callbacks.fire( "hello" ); // 输出 "foo: hello"
callbacks.lock(); // 此后不能在调用foo方法,除非$.Callbacks("memory") ,可以add一个函数
callbacks.fire( "world" ); // 没有调用foo方法
callbacks.add( bar ); // 当callbacks 赋值为 $.Callbacks("memory") ,创建一个callback对象,使用memory标识,可以再add一个函数
callbacks.fire( "world" ); // 输出 "bar: hello"

4.defered.promise()

在原来的Deferred对象上返回另一个Deferred对象

$(function(){
  $("input[type=button]").click(function(){
    $.ajax({
      url : "validate.html",
      type : "POST",
      dataType : "json"
    }).done(function(data){
      alert(data.a);
    }).fail(function(){
      alert("error");
    })
  }); 

  var dtd = $.Deferred();
  var wait = function(dtd){
    var tasks = function(){
      alert("执行完毕!");
      dtd.resolve(); // 改变Deferred对象的执行状态
    };
      setTimeout(tasks,5000);
   };
   dtd.promise(wait);
   wait.done(function(){ alert("哈哈,成功了!"); }).fail(function(){ alert("出错啦!");
});

5.animate({ step : function(){ } })

一个元素动画的同时进行另一个元素的动画

$( "#go" ).click(function() {
 $( ".block:first" ).animate({
  left: 100
 }, {
  duration: 1000,
  step: function( now, fx ){
   $( ".block:gt(0)" ).css( "left", now );
  }
 });
});

6.clone()

与appendTo方法同时使用,创建一个克隆的元素

<div class="container">
 <div class="hello">Hello</div>
 <div class="goodbye">Goodbye</div>
</div> 
$( ".hello" ).appendTo( ".goodbye" ); 

结果是:

<div class="container">
 <div class="goodbye">
  Goodbye
  <div class="hello">Hello</div>
 </div>
</div>
$( ".hello" ).clone().appendTo( ".goodbye" ); 

结果是:

<div class="container">
 <div class="hello">Hello</div>
 <div class="goodbye">
  Goodbye
  <div class="hello">Hello</div>
 </div>
</div>

以上就是小编为大家带来的浅谈jquery高级方法描述与应用全部内容了,希望大家多多支持我们~

(0)

相关推荐

  • jQuery中的jQuery()方法用法分析

    本文实例讲述了jQuery中的jQuery()方法用法.分享给大家供大家参考.具体如下: jQuery()方法的定义和用法: 此方法可以接受一组选择器,用于匹配相应的元素.例如: 复制代码 代码如下: jQuery("div") 在实际应用中,一般用$定义jQuery,其实$就是jQuery的简写,比如$("li")可以写成jQuery("li"). jQuery的核心功能都是通过此方法实现的,或者说以某种方式使用此方法实现.下面就详细介绍一下次

  • jquery性能优化高级技巧

    有时候我们在书写jquery的时候,为了书写代码方便,往往忽略了程序执行过程中,给客户端带来的压力.随之而来的就是在某些低端浏览器或者低端电脑上运行速度缓慢,甚至无法运行等问题. 因此我们有必要对我们自己书写的jquery代码进行优化,以达到更快捷.更流畅的运行效果. jquery性能优化高级技巧,下面主要从七个方面对jquery性能优化做介绍: 1.通过CDN(Content Delivery Network)引入jQuery库 2.减少DOM操作 3.适当使用原生JS 4.选择器优化 5.缓

  • 浅谈jquery高级方法描述与应用

    1.addBack() a. third-item的 li 下几个相邻节点(包括third-item) $( "li.third-item" ).nextAll().addBack(). .css( "background-color", "red" ); b. 和end()方法类似,选中的是div.after-addback和p元素,end选中的是div.after-addback元素 $( "div.after-addback&qu

  • 浅谈jquery中的each方法$.each、this.each、$.fn.each

    jquery.each 方法 方法一 $("img").each(function(i,elem){ // i 下标 从零开始, // elem == this // $(elem).toggleClass("example"); $(this).toggleClass("example"); }); 方法二 $.each([1,2,3,4],function(){ //$(this)==数组中的每一个数组(如果数组是对象,就是对象) }); 方

  • 浅谈jQuery中的$.extend方法来扩展JSON对象

    $.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 例一 合并 settings 和 options,修改并返回 settings var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options); 结果 set

  • 浅谈jQuery animate easing的具体使用方法(推荐)

    从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数: •properties:一组包含作为动画属性和终值的样式属性和及其值的集合 •duration(可选):动画执行时间,其值可以是三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)

  • 浅谈jquery拼接字符串效率比较高的方法

    实例如下: var roleidArray = new Array(""); for(i = 0; i < rightRows.length; i++) { roleidArray.push(rightRows[i].id); } roleidArray = roleidArray.join(",").substring(1); 代码很简单,我就不做注释了 以上这篇浅谈jquery拼接字符串效率比较高的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,

  • 浅谈jquery的html方法里包含特殊字符的处理

    在使用jquery的html()方法时,有时候里面添加的html代码含有一些特殊字符,需要进行转义. 如下例子: inst_html = "<a style=color:white' onmouseover = '"; inst_html += "javascript:showme('"+inst.instId+"_"+valId+"');"; inst_html += "' "; $("#

  • 浅谈jquery的map()和each()方法

    1. map()方法 //找到所有的标题元素,映射它们的ID,并转化为数组后排序 $(':header').map(function(){return this.id}).toArray().sort(); 2. each()方法 $('div').each(function(){ if($(this).is(':hidden')) return;//跳过隐藏的元素 //对可见的元素操作 }); 以上这篇浅谈jquery的map()和each()方法就是小编分享给大家的全部内容了,希望能给大家一

  • 浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法

    1.JQuery this和$(this)的区别 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 首先来看看JQuery中的  $()  这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象.那么,当你在网页中alert($('#id'));时,会弹出一个[object Object ],这个object对象,也就是jquery对象了. 那么,我们

  • 浅谈jQuery绑定事件会叠加的解决方法和心得总结

    关于jQuery的学习中我忽略了一个取消绑定事件.unbind()的使用,也不知道绑定事件会累加的情况,结果因为这个原因,让我在项目上栽了坑.只能说自己还太年轻,需要学习掌握的知识还有很多. 我遇到的问题 我在项目中遇到的状况,一个评价页面,简单的来说就是左右两个表格,ajax分别动态加载学生姓名学号信息和不同科目对学生评价内容两部分,两边表格我都每行写了checkbox并对table tbody tr绑定click事件执行行选功能,起初我写的是静态页面html,行选功能完全没有问题,后来换成j

  • 浅谈jquery fullpage 插件增加头部和版权的方法

    前言 一个页面,我们通过 jquery-fullpage 插件来制作,整个是全屏滚动的.但是,我们希望在最后一页增加一个版权,大概只有 100px 高,而不需要一个全屏来放版权.怎么做呢?搜索了一下,说了各种方法.什么修改源码啦之类的,或者自己写代码判断啦.晕死.其实,官方给出了解决方案. 下面,我们简单的说下是怎么实现的 实现其实只需要 html 部分 <div class="fullpage"> <div class="section fp-auto-h

随机推荐