jQuery实现表格行上下移动和置顶效果


Posted in Javascript onJune 05, 2015

我们在操作列表数据的时候,需要将数据行排列顺序进行调整,如上移和下移行,将行数据置顶等,这些操作都可以在前端通过点击按钮来完成,并且伴随着简单的动态效果,轻松实现表格数据排序。

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异步交互,保证排序数据真正被后台记录,然后刷新后会展示新的排序结果,本文不再对该异步操作做详细解说,就此结题。

以上所述就是本文的全部内容了,希望对大家学习jQuery能够有所帮助。

Javascript 相关文章推荐
js实现按一下删除键删除整个单词附demo
Sep 05 Javascript
在JavaScript的正则表达式中使用exec()方法
Jun 16 Javascript
使用jQuery实现Web页面换肤功能的要点解析
May 12 Javascript
BootStrap Datetimepicker 汉化的实现代码
Feb 10 Javascript
node文件上传功能简易实现代码
Jun 16 Javascript
微信小程序 密码输入(源码下载)
Jun 27 Javascript
JS设置随机出现2个数字的实例代码
Jul 19 Javascript
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
微信小程序通过保存图片分享到朋友圈功能
May 24 Javascript
在vue项目中引入highcharts图表的方法
Jan 21 Javascript
浅析JavaScript异步代码优化
Mar 18 Javascript
原生JS封装拖动验证滑块的实现代码示例
Jun 01 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 #Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
Jun 05 #Javascript
javascript实现删除前弹出确认框
Jun 04 #Javascript
jquery插件validation实现验证身份证号等
Jun 04 #Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 #Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
Jun 04 #Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
Jun 04 #Javascript
You might like
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
bootstrap响应式表格实例详解
2017/05/15 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
Python使用multiprocessing创建进程的方法
2015/06/04 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
中专三年学习的个人自我评价
2013/12/12 职场文书
主题酒店策划书
2014/01/28 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
幼儿教师研修感言
2014/02/12 职场文书
大一新生学期自我评价
2014/04/09 职场文书
护理专业求职信
2014/06/15 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
仰望星空观后感
2015/06/10 职场文书
交通事故协议书范本
2016/03/19 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS
vue修饰符.capture和.self的区别
2022/04/22 Vue.js
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers