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 相关文章推荐
超级强大的表单验证
Jun 26 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
Apr 12 Javascript
StringTemplate遇见jQuery冲突的解决方法
Sep 22 Javascript
javascript函数式编程实例分析
Apr 25 Javascript
jQuery实现高亮显示网页关键词的方法
Aug 07 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
Mar 17 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
JS中Attr的用法详解
Oct 09 Javascript
详解React中setState回调函数
Jun 14 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
vue父子组件的通信方法(实例详解)
Nov 10 Javascript
原生js实现购物车功能
Sep 23 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
php中的数组操作函数整理
2008/08/18 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
PHP实现的购物车类实例
2015/06/17 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
详解python itertools功能
2020/02/07 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
优秀志愿者事迹材料
2014/02/03 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
药店促销活动总结
2014/07/10 职场文书
领导欢迎词致辞
2015/01/23 职场文书
团员个人年度总结
2015/02/26 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
采购部年度工作总结
2015/08/13 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
Python如何把不同类型数据的json序列化
2021/04/30 Python
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
mysql查找连续出现n次以上的数字
2022/05/11 MySQL