




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告乱象面试题及答案
- 中原银行秋招面试题及答案
- 电动自行车市场趋势分析
- 2025届上海市普通高中高一化学第二学期期末监测试题含解析
- 2025至2030年中国搪瓷铁锅行业投资前景及策略咨询报告
- 整体代入图形题目及答案
- 2025年绥化市中考化学试题卷(含答案解析)
- 2025年中国骰子钥匙扣行业投资前景及策略咨询研究报告
- 2025年中国铁艺橱柜行业投资前景及策略咨询研究报告
- 2025年中国车辆跟踪定位器行业投资前景及策略咨询研究报告
- 呼吸阀行业市场发展现状及趋势与投资分析研究报告
- 互联网企业产品经理聘用合同
- 课程委托协议合同范例
- 世界卫生组织人类精液及精子-宫颈粘液相互作用实验室检验手册第五版
- 2023-2024学年广东省深圳高级中学七年级(上)期中历史试卷
- HGT20638-2017化工装置自控工程设计文件深度规范
- 应征公民体格检查表
- JT-T-1178.2-2019营运货车安全技术条件第2部分:牵引车辆与挂车
- 2024年公务员考试《言语理解与表达》题库附参考答案【综合卷】
- 24春国家开放大学《生活中的数学》形考作业1-4参考答案
- 剪叉式升降工作平台作业专项施工方案24
评论
0/150
提交评论