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 相关文章推荐
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
May 24 Javascript
检测jQuery.js是否已加载的判断代码
May 20 Javascript
javascript分页代码(当前页码居中)
Sep 20 Javascript
gridpanel动态加载数据的实例代码
Jul 18 Javascript
javascript制作的网页侧边弹出框思路及实现代码
May 21 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
Dec 31 Javascript
javascript中异常处理案例(推荐)
Oct 03 Javascript
微信小程序 生命周期详解
Oct 12 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 Javascript
React-Native使用Mobx实现购物车功能
Sep 14 Javascript
Vue项目组件化工程开发实践方案
Jan 09 Javascript
tsconfig.json配置详解
May 17 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
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
php获取系统变量方法小结
2015/05/29 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
高一新生军训感言
2014/03/02 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
护士找工作求职信
2014/07/02 职场文书
主题班会开场白
2015/06/01 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技