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局部刷新页面时间具体实现
Jul 04 Javascript
完美解决AJAX跨域问题
Nov 01 Javascript
基于jQuery实现多层次的手风琴效果附源码
Sep 21 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
深入理解React中es6创建组件this的方法
Aug 29 Javascript
微信小程序 scroll-view隐藏滚动条详解
Jan 16 Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 Javascript
canvas红包照片实例分享
Feb 28 Javascript
JavaScript代码实现txt文件的上传预览功能
Mar 27 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
May 26 Javascript
微信小程序开发问题之wx.previewImage
Dec 25 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 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实现微信扫码支付
2017/03/26 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
JavaScript 动态创建VML的方法
2009/10/14 Javascript
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
JS交换变量的方法
2015/01/21 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
对Angular中单向数据流的深入理解
2018/03/31 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
Python功能键的读取方法
2015/05/28 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
Django rest framework实现分页的示例
2018/05/24 Python
详解Python如何生成词云的方法
2018/06/01 Python
详解python while 函数及while和for的区别
2018/09/07 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
3种python调用其他脚本的方法
2020/01/06 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
自我评价的正确写法
2013/09/19 职场文书
护理专业毕业生自我鉴定
2013/10/08 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
淘宝网店营销策划书
2014/01/11 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js