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 12 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
Aug 14 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
Nov 19 Javascript
jQuery实现简洁的导航菜单效果
Nov 23 Javascript
jquery模拟多级复选框效果的简单实例
Jun 08 Javascript
Jil,高效的json序列化和反序列化库
Feb 15 Javascript
Vue组件通信之Bus的具体使用
Dec 28 Javascript
node puppeteer(headless chrome)实现网站登录
May 09 Javascript
Bootstrap Table实现定时刷新数据的方法
Aug 13 Javascript
vue实现淘宝购物车功能
Apr 20 Javascript
js实现表单项的全选、反选及删除操作示例
Jun 05 Javascript
Vue实现todo应用的示例
Feb 20 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 xml留言板 xml存储数据的简单例子
2009/08/24 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
JS实现图片切换特效
2019/12/23 Javascript
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
django 简单实现登录验证给你
2019/11/06 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
精彩的推荐信范文
2013/11/26 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
实践单位评语
2014/04/26 职场文书
啤酒节策划方案
2014/05/28 职场文书
2014年度工作总结报告
2014/12/15 职场文书
2014年青年教师工作总结
2014/12/17 职场文书
为自己工作观后感
2015/06/11 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript