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 相关文章推荐
Prototype使用指南之selector.js说明
Oct 26 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
使用jquery给指定的table动态添加一行、删除一行
Oct 13 Javascript
js闭包用法实例详解
Dec 13 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
Apr 28 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
Aug 24 Javascript
vue 验证两次输入的密码是否一致的方法示例
Sep 29 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
如何利用js在两个html窗口间通信
Apr 27 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
页面使用密码保护代码
2013/04/10 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
Python+django实现文件下载
2016/01/17 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
Python pandas库中的isnull()详解
2019/12/26 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
医药大学生求职简历的自我评价
2013/10/17 职场文书
统计员岗位职责
2013/11/14 职场文书
婚礼主持词开场白
2014/03/13 职场文书
公司借款担保书
2015/09/22 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android