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 相关文章推荐
神奇的7个jQuery 3D插件整理
Jan 06 Javascript
把字符串按照特定的字母顺序进行排序的js代码
Jan 28 Javascript
JavaScript中点击事件的写法
Jun 28 Javascript
JavaScript中cookie工具函数封装的示例代码
Oct 11 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
Angular.JS中的this指向详解
May 17 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
Jun 30 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
原生JS实现的轮播图功能详解
Aug 06 Javascript
微信小程序实现星级评价效果
Dec 28 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
php时区转换转换函数
2014/01/07 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
平面设计师的工作职责
2013/11/21 职场文书
实习评语大全
2014/04/26 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
如何写观后感
2015/06/19 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python