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 相关文章推荐
jQuery模拟超链接点击效果代码
Apr 21 Javascript
jquery datepicker参数介绍和示例
Apr 15 Javascript
js获取checkbox复选框选中的选项实例
Aug 24 Javascript
sogou地图API用法实例教程
Sep 11 Javascript
JavaScript动态添加列的方法
Mar 25 Javascript
在HTML中插入JavaScript代码的示例
Jun 03 Javascript
JavaScript中的this机制
Jan 30 Javascript
AngularJS 中文API参考手册
Jul 28 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 Javascript
Vue实战教程之仿肯德基宅急送App
Jul 19 Javascript
JS中的继承操作实例总结
Jun 06 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
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
JS 自动安装exe程序
2008/11/30 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
Python中实现输入一个整数的案例
2020/05/03 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
2014年庆元旦活动方案
2014/02/15 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
导航工程专业自荐信
2014/09/02 职场文书
销售员试用期自我评价
2014/09/15 职场文书
迁户口计划生育证明
2014/10/19 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
病房管理制度范本
2015/08/06 职场文书
SQL写法--行行比较
2021/08/23 SQL Server
P站美图推荐——变身女主角特辑
2022/03/20 日漫
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
ant design charts 获取后端接口数据展示
2022/05/25 Javascript