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刷新站IP和PV
Sep 05 Javascript
从阶乘函数对比Javascript和C#的异同
May 31 Javascript
javascript获取元素偏移量的方法有哪些
Jun 24 Javascript
再探JavaScript作用域
Sep 24 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
May 31 Javascript
jquery滚动条插件(可以自定义)
Dec 11 Javascript
Bootstrap模态框使用详解
Feb 15 Javascript
zTree树形插件异步加载方法详解
Jun 14 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
Dec 19 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
Jul 10 Javascript
React+Redux实现简单的待办事项列表ToDoList
Sep 29 Javascript
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
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
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
js event事件的传递与冒泡处理
2009/12/06 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
python实现爬虫下载美女图片
2015/07/14 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
python实现石头剪刀布小游戏
2021/01/20 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
python学生管理系统的实现
2020/04/05 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
canvas实现俄罗斯方块的方法示例
2018/12/13 HTML / CSS
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
大学毕业生求职自荐书
2014/06/05 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
话题作文之自信作文
2019/11/15 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server