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 相关文章推荐
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
jquery-syntax动态语法着色示例代码
May 14 Javascript
JS实现可关闭的对联广告效果代码
Sep 14 Javascript
详解JavaScript中的Unescape()和String() 函数
Nov 09 Javascript
JS实现探测网站链接的方法【测试可用】
Nov 08 Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 Javascript
vue-cli创建的项目,配置多页面的实现方法
Mar 15 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
vue init webpack 建vue项目报错的解决方法
Sep 29 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
在Express中提供静态文件的实现方法
Oct 17 Javascript
详解vue中$nextTick和$forceUpdate的用法
Dec 11 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的一个登录的类 [推荐]
2007/03/16 PHP
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
PHP文件操作实现代码分享
2011/09/01 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
接收键盘指令的脚本
2006/06/26 Javascript
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Cpy和Python的效率对比
2015/03/20 Python
解析Python中的异常处理
2015/04/28 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
校园安全检查制度
2014/02/03 职场文书
党建工作经验交流材料
2014/05/25 职场文书
汽修专业自荐信
2014/07/07 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
志愿者个人总结
2015/03/03 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python