jQuery-插件,优化

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));

});

时间: 2024-08-10 21:21:30

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

15 款优化表单的 jQuery 插件

网页上的表单提供给用户的一种交互的方式,用户输入数据,提交到服务器,等待后续的处理.这些表单在我们浏览的网页中随处可见,也容易被我们忽略. 比如,"联系我们"页面会提供一个表单给用户填写他们的信息和想提的建议或者问题,但是开发者往往只关注网站的设计和用户交互的内容,并不会注意到用户进 行交互的方式--表单. 以下整理的这个列表就是为 Web开发者准备的,包括了 15 款优化表单的 jQuery 插件.希望大家能从中找到适合自己的 jQuery 插件,优化网页表单,更好的与用户进行交互.

[开源] jQuery 插件,利用‘localStorage’ 对 jQuery AJAX进行缓存,优化页面ajax请求

jquery-ajax-cache 源码地址:https://github.com/WQTeam/jquery-ajax-cache jQuery插件——利用‘localStorage’ 和 ‘sessionStorage’ 对 jQuery AJAX 请求进行缓存. 首先说明下在什么场景下需要用到缓存ajax请求到localstorage中.都知道浏览器本身对http请求就是有缓存策略的,但是这种缓存方式两个缺陷:1.只能缓存get请求 2.同时缓存的设置都在后端响应的报文头部指定.(PS:现

jquery js javascript select 无限级 插件 优化foxidea版

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <sc

优化Web性能的15个jQuery插件

jQuery是一个可订制的.轻量级的前端开发框架,它会让你的前端开发拥有无限的可能性.它会在敏捷Web开发中帮你做很多事情,比如简化HTML文档的解析.事件处理.动画效果和Ajax交互.实践上jQuery已经成为了新一代的标准. 在这篇文章中,我们整理了9月份以来最新的15个jQuery插件, 它们都非常优秀.根据下面提到的这些jQuery插件,你可以在很多地方提高和优化Web应用的性能. 我们希望你能从中找到对你有帮助的插件,如果你也知道很多jQuery的最新资源,可以在评论中告诉我们,和大家

原创jquery插件treeTable(转)

由于工作需要,要直观的看到某个业务是由那些子业务引起的异常,所以我需要用树表的方式来展现各个层次的数据. 需求: 1.数据层次分明: 2.数据读取慢.需要动态加载孩子节点: 3.支持默认展开多少层. 在网上找到了很多资料,发现treeTable方面的组件质量都不高,有些还不错样式不符合,性能也比较差.想想树表也挺简单的,不就是通过隐藏或者展现某些tr来实现嘛.于是乎,自己写一个. 2011年5月4号恰好放假一个下午,于是在家里风风火火开始构造自己的树表插件. 样式我就用了http://www.h

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

在很多项目中都会涉及到数据加载.数据加载有时可能会是2-3秒,为了给一个友好的提示,一般都会给一个[数据加载中...]的提示.今天就做了一个这样的提示框. 先去jQuery官网看看怎么写jQuery插件,然后就开始写了.写下来这么一个插件,稍作优化,就在项目中使用了.下面贴的是我写这个插件时的测试图: 这张图模拟数据加载前提示框的展示,这个表格是一个写在页面上的.蓝色的底纹就是遮罩层. (function($){ $.fn.extend({ /** * 打开遮罩,并显示一段文字. * @para

jquery插件写法

下面的文章是我复制粘贴的,是学习jquery插件写法时搜到的好的教程.谢谢这些人写的博客,为表示尊重,我将博客的地址也粘贴出来,希望可以帮到其他人. -----------------------------------------------------分割线--------------------------------------------------------------------------------------------------- JQuery插件写法的总结 最近Web

15个使用的jquery插件介绍

在这篇文章中,我们整理最新的15个jQuery插件, 它们都非常优秀.根据下面提到的这些jQuery插件,你可以在很多地方提高和优化Web应用的性能. 我们希望你能从中找到对你有帮助的插件,如果你也知道很多jQuery的最新资源,可以在评论中告诉我们,和大家一起分享. 1.jQuery.fblogin jQuery.fblogin,顾名思义,它是一个用jQuery实现的Facebook登录插件,你需要申请一个Facebook应用的id,然后添加Facebook JS SDK,通过这个插件来加载S

jQuery插件的开发

jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数. 另一种是对象级别的插件开发,即给jQuery对象添加方法. 下面就两种函数的开发做详细的说明. 1.类级别的插件开发 类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法. 典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中. 关于类级别的插件开发可以采用

15个超级实用的jQuery插件

jQuery是一个可订制的.轻量级的前端开发框架,它会让你的前端开发拥有无限的可能性.它会在敏捷Web开发中帮你做很多事情,比如简化HTML文档的解析.事件处理.动画效果和Ajax交互.实践上jQuery已经成为了新一代的标准. 在这篇文章中,我们整理了9月份以来最新的15个jQuery插件, 它们都非常优秀.根据下面提到的这些jQuery插件,你可以在很多地方提高和优化Web应用的性能. 我们希望你能从中找到对你有帮助的插件,如果你也知道很多jQuery的最新资源,可以在评论中告诉我们,和大家