jQuery应用:

1、表单验证:

A:jQuery Validation插件:有时需要将验证的属性写在class中,有时需要将验证信息写在属性中,例如:

<input id="cemail" name="email" size="25" class="require email"  minlength=“2”/>

$(document).ready(function(){

$("#commentForm").validate()

})

B:jQuery.metadata.js插件:可以将所有的验证信息都写在class属性中

$('#commentForm').validate({meta:"validate"});

<inout id="cusername" name="username" size="25" class="{validate:{required:true,minlength:2}}"

C:将class属性移除,利用name属性;

$(document).ready(function(){

$("#commentForm").validate({

rules:{

username:{

required:true,

minlength:2

},

email:{

required:true,

email:true

},

url:"url",

comment:"required"

}

});

})

D:自定义验证信息:

class="{validate:{required:true,message:{required:'请输入姓名',minlength"'请至少输入2个字符'}}}"

E:验证码:

<input id="cvalcode" name="valcode" size="25" value="" />

$.validator.addMethod(

"formula",

function(value,element,param){

return value == eval(param);

}

'请输入数学公式计算后的结果'

)

在$("#commentForm").validate的rules中添加valcode:{formula:“7+9”}

2、jQueryForm插件:ajaxForm()以及ajaxSubmit()方法

$("#myForm").ajaxForm(function(){

$('#output1').html("提交成功").show();

})

*****************************

$('#myForm').submit(function(){

$(this).ajaxSubmit(function(){

$('#output1').html("提交成功").show();

})

return false;

})

*****************************

两个方法都可以传递一个或0个参数,单个参数可以是一个回调函数,可以是一个options对象:

var options={

target:'#output1',

beforeSubmit : showRequest,  //提交前回调函数

success : showRespone,   //提交成功后的回调函数

url : url,     //默认是form中action的值,如果申明,则会被覆盖

type : type,   //get,post

setTimeout : 3000,

clearForm : true,  //提交成功后,清除所有表单元素的值

resetForm : true,  //提交成功后,重置所有表单元素的值

dataType : null  //json ……接收服务端返回的类型

}

$('#myForm').submit(function(){

$(this).ajaxSubmit(options);

return false;

});

beforeSubmit指定的回调函数:

function showRequest(formData,jqForm,options){

//formData是一个数组对象,jqForm是一个jQuery对象,封装了表单元素

var queryString = $.param(formData);

return true;

}

success指定的回调函数:

function showResponse(responseText,statusText,xhr,$form){

//statusText是一个返回状态,success,error……

//responseText携带服务器返回的数据内容,对于缺省的html返回,第一个参数是XMLResquest对象的responseText

}

在提交前验证表单:利用formData参数,利用参数jqForm,利用fieldValue()方法

3、创建模态窗口---SimpleModal插件

$(“#element-id”).modal()

$.modal(“<div><h1>SimpleModel</h1></div>”)

还可以传一个参数:

$(“#element-id”).modal({options})

$.modal(“<div><h1>SimpleModel</h1></div>”,{options})

<a herf="#" class="simplemodal-close">关闭</a>

"simplemodal-close"是一个默认关闭接口,只要通过调用$.modal.close()方式关闭当前模态窗口

如果想自己定义一个关闭接口,可以修改全局变量:

$.modal.defaults.closeClass = "modalClose";

修改多个默认参数:

$.extend($.modal.defaults,{

closeClass:"modalClose",

closeHtml : "<a herf="#">Close</a>"

})

4、Cookie插件:

A:写入cookie:$.cookie(“the_cookie”, “the_value”);

B:读取cookie:$.cookie(“the_cookie);

C:删除cookie:$.cookie(”the_cookie” , null)

5、jQuery UI插件:拖到排序组件

$(document).ready(function(){

$("#myList").sortable(); //可以拖动

})

//单与单击事件冲突时:

$("#myList").sortable({delay:1});

获取列表元素拖到后的顺序,sortable(“serialize”)

$("#myList").sortable({

delay:1,

stop:function(){

$.post(

"sortable.php",

$("#myList").sortable("serialize"),

function(response){

alert(response);

}

)

}

})

6、编写jQuery插件:

A:

;(function($){

$.fun.extend({

“color”:function(value){},

“border”:function(value){}

})

})(jQuery);

Jquery Mobile:

1、加载顺序:

<link rel="stylesheet" type="text/css" href="jquery.mobile.css">

<script type="text/javascript" src="jquery.js"></script>

………………//这里是项目中的其他js

<script type="text/javascript" src="jquery.mobile.js"></script>

2、在HTML5中,属性名有data-前缀

jQuery性能优化:

1、事件代理时:

$('#myTable').on('click','td',function(){

})

2、使用join()将数组转化为字符串

3、$.proxy()的使用:

<div id="panel" style="display:none">

<button>close</button>

</div>

//执行下面代码,button元素会消失

$('#panel').fadeIn(function(){

$("#panel button").click(function(){

$(this).fadeOut();

});

});

//使用$.proxy()解决上述问题

$('#panel').fadeIn(function(){

$("#panel button").click($.proxy(function(){

//this指向#panel

$(this).fadeOut();

},this));

});

jQuery-插件,优化的更多相关文章

  1. 15 款优化表单的 jQuery 插件

    网页上的表单提供给用户的一种交互的方式,用户输入数据,提交到服务器,等待后续的处理.这些表单在我们浏览的网页中随处可见,也容易被我们忽略. 比如,“联系我们”页面会提供一个表单给用户填写他们的信息和想 ...

  2. ajax——三级联动下拉列表框的优化(简化页面,用jquery插件代替原来页面代码,返回处理数据类型为"TEXT")

    数据库: 主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  3. 分享20款移动开发中很有用的 jQuery 插件

    今天,很显然每个网站都需要有一个移动优化的界面以提高移动用户的使用体验.在开发任何移动项目时,要尽可能保持每一种资源尺寸都尽可能的小,以给最终用户提供一个好的体验是非常重要的.在这篇文章中我们已经编制 ...

  4. 原创jquery插件treeTable(转)

    由于工作需要,要直观的看到某个业务是由那些子业务引起的异常,所以我需要用树表的方式来展现各个层次的数据. 需求: 1.数据层次分明: 2.数据读取慢.需要动态加载孩子节点: 3.支持默认展开多少层. ...

  5. 最新的jQuery插件和JavaScript库

    每一个前端开发人员很清楚的重要性和功能的JavaScript库提供.它提供了一个简单的接口,用于构建快速动态的接口,而无需大量的代码. 谢谢你的超级从事jQuery开发者社区,人始终是创造新的和令人惊 ...

  6. jQuery插件写法总结以及面向对象方式写法总结

    前两个是jQuery插件,后面2个是以对象的形式开发,都类似. 写法一 (function($, window){ // 初始态定义 var _oDialogCollections = {}; // ...

  7. 网站开发中很实用的 HTML5 & jQuery 插件

    这篇文章挑选了15款在网站开发中很实用的 HTML5 & jQuery 插件,如果你正在寻找能优化网站,使其更具创造力和视觉冲击,那么本文正是你需要的.这些优秀的 jQuery 插件能为你的网 ...

  8. JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)

    在很多项目中都会涉及到数据加载.数据加载有时可能会是2-3秒,为了给一个友好的提示,一般都会给一个[数据加载中...]的提示.今天就做了一个这样的提示框. 先去jQuery官网看看怎么写jQuery插 ...

  9. 关于jquery插件 入门

    关于 JavaScript & jQuery 的插件开发   最近在温故 JavaScript 的面向对象,于是乎再次翻开了<JavaScript高级程序设计>第3版,了解到其中常 ...

  10. jQuery性能优化的28个建议

    我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可 ...

随机推荐

  1. css样式设置图片半透明度,兼容IE8,火狐

    关于背景颜色透明的兼容浏览器的问题,一直是个问题,我所写的兼容IE8,和火狐,说是兼容所有浏览器我就没有测试,有兴趣的朋友可以自己测试下吧. background-color:white;filter ...

  2. SEH-关于捕获memcpy的异常

    网上有说memcpy是C语言写的,没有异常处理机制. 但是貌似SEH可以处理. SEH("Structured Exception Handling"),即结构化异常处理·是(wi ...

  3. 创建DLL、Lib以及使用DLL、Lib

    1.要在生成DLL文件的同时生成Lib文件,函数声明时前面要加__declspec(dllexport). 可在头文件中如下定义: #ifndef __MYDLL_H#define __MYDLL_H ...

  4. redis 常用命令

    查看redis信息和状态: > info redis下,数据库是由一个整数索引标识,而不是由一个数据库名称.默认情况下,一个客户端连接到数据库0.redis配置文件中下面的参数来控制数据库总数: ...

  5. MyBatis魔法堂:即学即用篇

    一.前言                   本篇内容以理解MyBatis的基本用法和快速在项目中实践为目的,遵循Make it work,better and excellent原则. 技术栈为My ...

  6. Java并发编程中的阻塞和中断

    >>线程的状态转换 线程的状态转换是线程控制的基础,下面这张图片非常直观的展示了线程的状态转换: 线程间的状态转换: 1. 新建(new):新创建了一个线程对象.2. 可运行(runnab ...

  7. Redis处理文件日志并发(2)

    多线程操作同一个文件时会出现并发问题.解决的一个办法就是给文件加锁(lock),但是这样的话,一个线程操作文件时,其它的都得等待,这样的话性能非常差.另外一个解决方案,就是先将数据放在队列中,然后开启 ...

  8. 关于Mesos和Kubernetes的区别

    这个主题应该和服务发现注册一样,进入视野...

  9. java中常用的工具类(二)

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  10. 为什么是 n(n+1)/2 ?

    n(n+1)/2是一个数列的元素两两运算后的不重复结果数.如图: 假如数列a = 1,2,3....n.那么该数列内的元素两两相乘,则会构建出上图中的表格,这个表格应该有n x n 个元素. 用程序写 ...