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 相关文章推荐
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
Jan 12 Javascript
jquery时间下拉框小例子
Apr 15 Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 Javascript
js实现一个链接打开两个链接地址的方法
May 12 Javascript
javascript图片预加载完整实例
Dec 10 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 Javascript
webpack中如何使用雪碧图的示例代码
Nov 11 Javascript
简单了解JavaScript异步
May 23 Javascript
Node.js开发之套接字(socket)编程入门示例
Nov 05 Javascript
JS代码优化的8点建议
Feb 04 Javascript
基于vue实现探探滑动组件功能
May 29 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/05/12 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
Vue js with语句原理及用法解析
2020/09/03 Javascript
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
Python映射拆分操作符用法实例
2015/05/19 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
Django 实现购物车功能的示例代码
2018/10/08 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
浅谈Python中的字符串
2020/06/10 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
2014年公司庆元旦活动方案
2014/03/05 职场文书
留学经费担保书
2014/05/12 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
如何在Python中妥善使用进度条详解
2022/04/05 Python
Spring Boot 实现 WebSocket
2022/04/30 Java/Android
css弧边选项卡的项目实践
2023/05/07 HTML / CSS