JqueryHTMLDOM排序插件(网页元素排序插件)_第1页
JqueryHTMLDOM排序插件(网页元素排序插件)_第2页
JqueryHTMLDOM排序插件(网页元素排序插件)_第3页
JqueryHTMLDOM排序插件(网页元素排序插件)_第4页
JqueryHTMLDOM排序插件(网页元素排序插件)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/* * jquery html dom排序插件 v1.0 * 插件名称:sort * 文件名:jquery.sort-1.0.js * 作者:wjy * email : * 日期:2010-12 * 使用方法:$(#id).sort(order:desc,method:advance,type:string,sortitem:name,sortattr:class) * 参数选项说明:* order: 排序顺序,升序:asc、降序: desc * method: 简单排序: simply,高级排序:advance * type:数字排序: number,字符串排序:string * sort

2、item: 需要排序元素的class 名称* sortele: 包含排序关键字的元素的class 名称* sortattr: 排序关键字属性名称,若缺省,则用该元素的text 排序* * */ (function($) $.fn.sort = function(options) /默认选项var defaults = order:desc, /升序 asc、降序 desc method:advance, /简单排序: simply,高级排序:advance type:string, /数字排序: number,字符串排序:string sortitem:, /需要排序元素的class名称sor

3、tele:, sortattr: /排序关键字属性 /排序方式标识var order; /排序容器的jquery 对象var $sortobj; /选项融合var options = $.extend(defaults, options); /排序开始return this.each(function() $sortobj = $(this); if(options.order = asc) order = -1; else order = 1; options.sortele = .+options.sortele; options.sortitem = .+options.sortitem

4、; if(options.method = simple) /调用选择排序selectsort() else if(options.method = advance) /调用快速排序quicksort() else /默认快速排序quicksort() ); /* * 以下为私有函数*/ /比较大小函数function compare(v1,v2) if(options.type = number) v1 = parsefloat(v1); v2 = parsefloat(v2); if(v1v2) return 1; else if(v1 = v2) return 0; else retur

5、n -1; /获得单元格排序关键字function getkeyvalue($sortitem) if(options.sortattr = ) return $sortitem.find(options.sortele).text(); else return $sortitem.find(options.sortele).attr(options.sortattr); /选择排序实现函数function selectsort() var $sortitem = $sortobj.find(options.sortitem); var len = $sortitem.size(); for(

6、var i=0;i len-1;i+) /求极值var pos = i; for(var j = i+1; j0 ) pos = j; /交换if(compare(getkeyvalue($sortitem.eq(pos),getkeyvalue($sortitem.eq(i)*order0 ) var temp1 = $sortitem.eq(pos).clone(); var temp2 = $sortitem.eq(i).clone(); $sortitem.eq(pos).replacewith(temp2); $sortitem.eq(i).replacewith(temp1); /

7、下面这句很重要$sortitem = $sortobj.find(options.sortitem); /快速排序递归实现function doquicksort(left,right) var $sortitem = $sortobj.find(options.sortitem); var len = $sortitem.size(); var i,j,middle; i = left; j = right; middle = left; do while(compare(getkeyvalue($sortitem.eq(i),getkeyvalue($sortitem.eq(middle)

8、*order0) & (iright) i+;while(compare(getkeyvalue($sortitem.eq(j),getkeyvalue($sortitem.eq(middle)*orderleft) j-; if(i=j) var temp1 = $sortitem.eq(i).clone(); var temp2 = $sortitem.eq(j).clone(); $sortitem.eq(i).replacewith(temp2); $sortitem.eq(j).replacewith(temp1); /下面这句很重要$sortitem = $sortobj.find(options.sortitem); i+; j-; /alert($sortitem.eq(1).html(); while(i=j); if(lefti) doquicksort(i,right); function quicksort() doquicksort(0,$sortobj.find(opt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论