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 相关文章推荐
使用JS操作页面表格,元素的一些技巧
Feb 02 Javascript
通过onmouseover选项卡实现img图片的变化
Feb 12 Javascript
JQuery插件jcarousellite的参数中文说明
May 11 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
Sep 14 Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 Javascript
jquery插件autocomplete用法示例
Jul 01 Javascript
jquery dialog获取焦点的方法
Feb 09 Javascript
JS与HTML结合实现流程进度展示条思路详解
Sep 03 Javascript
VUE长按事件需求详解
Oct 18 Javascript
JS数组实现分类统计实例代码
Sep 30 Javascript
vue实现element表格里表头信息提示功能(推荐)
Nov 20 Javascript
JS实现秒杀倒计时特效
Jan 02 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
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
PHP递归算法的简单实例
2019/02/28 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python编程中的反模式实例分析
2014/12/08 Python
python实现批量改文件名称的方法
2015/05/25 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
Python简单实现控制电脑的方法
2018/01/22 Python
用Python解数独的方法示例
2019/10/24 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
个人创业事迹材料
2014/12/30 职场文书
项目战略合作意向书
2015/05/08 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
Mysql数据库group by原理详解
2022/07/07 MySQL