下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 昆明城市学院《模拟电路设计含实验双语》2023-2024学年第一学期期末试卷
- 江苏联合职业技术学院《小学数学教学设计》2023-2024学年第一学期期末试卷
- 吉林工程技术师范学院《海洋油气工程综合课程设计》2023-2024学年第一学期期末试卷
- 湖南农业大学东方科技学院《人工智能原理与技术》2023-2024学年第一学期期末试卷
- 【物理】《滑轮》(教学设计)-2024-2025学年人教版(2024)初中物理八年级下册
- 重庆文理学院《西方文论专题》2023-2024学年第一学期期末试卷
- 郑州财税金融职业学院《数字出版物创作实训》2023-2024学年第一学期期末试卷
- 浙江经贸职业技术学院《MySQL数据库应用》2023-2024学年第一学期期末试卷
- 董事会议事规则
- 浙江安防职业技术学院《婴幼儿语言发展与教育》2023-2024学年第一学期期末试卷
- 《国有控股上市公司高管薪酬的管控研究》
- 餐饮业环境保护管理方案
- 食品安全分享
- 矿山机械设备安全管理制度
- 计算机等级考试二级WPS Office高级应用与设计试题及答案指导(2025年)
- 造价框架协议合同范例
- 糖尿病肢端坏疽
- 《创伤失血性休克中国急诊专家共识(2023)》解读课件
- 小学六年级数学100道题解分数方程
- YY 0838-2021 微波热凝设备
- 病原细菌的分离培养
评论
0/150
提交评论