jQuery表格行上移下移和置顶的实现方法


Posted in Javascript onOctober 08, 2015

我们在操作列表数据的时候,需要将数据行排列顺序进行调整,如上移和下移行,将行数据置顶等,这些操作都可以在前端通过点击按钮来完成,并且伴随着简单的动态效果,轻松实现表格数据排序。

运行效果图:

jQuery表格行上移下移和置顶的实现方法

HTML
页面上是一个简单的数据表格,我们在数据行中分别放置“上移”,“下移”和“置顶”三个链接,并且分别定义三个class属性,我们来通过jQuery实现这些操作。

<table class="table"> 
 <tr> 
  <td>HTML5获取地理位置定位信息</td> 
  <td>2015-04-25</td> 
  <td><a href="#" class="up">上移</a> <a href="#" class="down">下移</a> <a href="#" class="top">置顶</a></td> 
 </tr> 
 <tr> 
  <td>CSS+Cookie实现的固定页脚广告条置顶</a></td> 
 </tr> 
 ... 
</table>

jQuery
我们需要预先把jQuery库文件载入,然后分别绑定上移、下移和置顶三个操作的click事件。以“上移”为例,当点击时,获取当前点击的行内容,及tr,然后判断该行是不是第一行,如果不是第一行,那么就将该行插入到上一行的前面,实现了互换的目的。当然我们可以给行加fadeOut()和fadeIn()过渡效果,这样看起来会更生动些,否则上移的过程会一闪而过。“下移”和“置顶”操作流程都差不多,请看代码:

$(function(){ 
 //上移 
 var $up = $(".up") 
 $up.click(function() { 
  var $tr = $(this).parents("tr"); 
  if ($tr.index() != 0) { 
   $tr.fadeOut().fadeIn(); 
   $tr.prev().before($tr); 
    
  } 
 }); 
 //下移 
 var $down = $(".down"); 
 var len = $down.length; 
 $down.click(function() { 
  var $tr = $(this).parents("tr"); 
  if ($tr.index() != len - 1) { 
   $tr.fadeOut().fadeIn(); 
   $tr.next().after($tr); 
  } 
 }); 
 //置顶 
 var $top = $(".top"); 
 $top.click(function(){ 
  var $tr = $(this).parents("tr"); 
  $tr.fadeOut().fadeIn(); 
  $(".table").prepend($tr); 
  $tr.css("color","#f60"); 
 }); 
});

当然,实际应用中应该结合您的项目,在操作“上移”,“下移”和“置顶”完成时,应该和后台程序进行Ajax异步交互,保证排序数据真正被后台记录,然后刷新后会展示新的排序结果,本文不再对该异步操作做详细解说。

Javascript 相关文章推荐
javascript 读取xml,写入xml 实现代码
Jul 10 Javascript
基于jQuery的一个扩展form序列化到json对象
Dec 09 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
Oct 11 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
jquery实现炫酷的叠加层自动切换特效
Feb 01 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
vue购物车插件编写代码
Nov 27 Javascript
对angular 监控数据模型变化的事件方法$watch详解
Oct 09 Javascript
JavaScript根据json生成html表格的示例代码
Oct 24 Javascript
layer 关闭指定弹出层的例子
Sep 25 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
Oct 08 #Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
Oct 08 #Javascript
js小数运算出现多位小数如何解决
Oct 08 #Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
Oct 08 #Javascript
js实现超酷的照片墙展示效果图附源码下载
Oct 08 #Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 #Javascript
Javascript控制div属性动态变化实例分析
Oct 08 #Javascript
You might like
php实现俄罗斯乘法实例
2015/03/07 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
浅析Node.js非对称加密方法
2018/01/29 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
python得到单词模式的示例
2018/10/15 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
谈谈Python中的while循环语句
2019/03/10 Python
python面试题小结附答案实例代码
2019/04/11 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
HTML5标签大全
2016/11/23 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
路政管理毕业自荐书范文
2014/02/10 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
十佳少年事迹材料
2014/12/25 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
小学班主任自我评价
2015/03/11 职场文书