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 相关文章推荐
jQueryUI如何自定义组件实现代码
Nov 14 Javascript
深入理解JavaScript高级之词法作用域和作用域链
Dec 10 Javascript
jquery查找父元素、子元素(个人经验总结)
Apr 09 Javascript
js获取时间并实现字符串和时间戳之间的转换
Jan 05 Javascript
JavaScript组件焦点与页内锚点间传值的方法
Feb 02 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
jquery获取复选框checkbox的值实现方法
May 30 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
Oct 14 Javascript
学习Node.js模块机制
Oct 17 Javascript
VUE 3D轮播图封装实现方法
Jul 03 Javascript
微信小程序利用for循环解决内容变更问题
Mar 05 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
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数据库连接
2006/10/09 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
深入理解vue Render函数
2017/07/19 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
python修改操作系统时间的方法
2015/05/18 Python
python requests post多层字典的方法
2018/12/27 Python
简单的Python人脸识别系统
2020/07/14 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
scrapy-splash简单使用详解
2021/02/21 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
总经理助理的八要求
2013/11/12 职场文书
《自选商场》教学反思
2014/02/14 职场文书
法定代表人资格证明书
2014/09/11 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏