jQuery实现调整表格单列顺序完整实例


Posted in Javascript onJune 20, 2016

本文实例讲述了jQuery实现调整表格单列顺序的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>调整表格顺序</title>
  <script type = "text/javascript" src="jquery-1.7.2.js"></script>
  <style type = "text/css">
   #main{
    width:800px;
    height:400px;
    margin:auto;
    text-align:center;
    border:1px solid red;
    background:#eee;
    padding-top:100px;
   }
   #tabf{
    height:170px;
    position:relative;
   }
   #showDetail{
    left:244px;
    width:20px;
    height:15px;
    line-height:15px;
    border-left:1px solid blue;
    border-top:1px solid blue;
    border-right:1px solid blue;
    cursor:pointer;
    display:none;
    position:absolute;
   }
   #tab{
    margin-top:16px;
    border-collapse:collapse;
    position:absolute;
   }
   #tab td{
    height:50px;
    width:50px;
    line-height:50px;
    border:1px solid blue;
   }
   #sortTab{
    width:170px;
    height:155px;
    border:3px outset;
    background:#ccc;
    position:absolute;
    top:15px;
    left:270px;
    display:none;
   }
   #tdList{
    width:90px;
    height:150px;
    border:1px inset;
    position:absolute;
   }
   #opt{
    width:80px;
    height:150px;
    position:absolute;
    left:90px;
   }
   .btn{
    margin:10px;
    width:60px;
    height:20px;
   }
  </style>
  <script type = "text/javascript">
   $(function(){
    index = 0;
    cols = new Array();
    show_Hide_tipBtn();//显示或隐藏表格设置面板
    showResult(); //文档加载完毕时,先将表格中的数据显示到面板中
    $(".up").click(function(){
     sortColumn(cols,index,"tab","up")
     showResult()
     $(".sortTd").each(function(m){
      if(m==index){
       $(this).css("background-color","red");
      }else{
       $(this).css("background-color","")
      }
     })
    })
    $(".down").click(function(){
     sortColumn(cols,index,"tab","down")
     showResult()
     $(".sortTd").each(function(m){
      if(m==index){
       $(this).css("background-color","red");
      }else{
       $(this).css("background-color","")
      }
     })
    })
   })
   function getResult(cols){
    var result = "";
    cols.each(function(n){
     result += "<span style = 'margin-top:10px;border:1px solid;display:block' id='"+n+"' class='sortTd'>"+$(this).text()+"</span>";
    })
    return result;
   }
   function showResult(){ //将表格中各列的第一行显示到面板中
    cols.length = 0;
    $("#tab tr:first td").each(function(i){
     var col = $("#tab tr td::nth-child("+(i+1)+")") //将每一列分别存入数组cols中
     cols.push(col);
     $("#tdList").html(getResult($(cols))); //添加到面板
     $(".sortTd").click(function(){
      $(".sortTd").css("background-color","")
      $(this).css("background-color","red");
      index = parseInt($(this).attr("id"));
     })
    })
   }
   function show_Hide_tipBtn(){
    $("#tab").mouseover(function(){ //鼠标移入到表格上时,显示弹出按钮
     $("#showDetail").css("display","block");
    }).mouseout(function(){ //鼠标移入到表格上时,隐藏弹出按钮
     $("#showDetail").css("display","none");
    })
    $("#showDetail").mouseover(function(){ //鼠标移入到弹出按钮上时,显示弹出按钮
     $(this).css("display","block");
    }).mouseout(function(){ //鼠标移入到弹出按钮上时,隐藏弹出按钮
     $(this).css("display","none");
    })
    $("#showDetail").click(function(){
     $("#sortTab").slideToggle("slow");
    })
   }
   function sortColumn(col, t, faId, dir){
    if (((t == 0) && (dir == "up")) || ((t == col.length-1) && (dir == "down"))) {
     return false;
    }
    else {
     var k = t;
     var idx = 0;
     if (dir == "up") {
      idx = k - 1;
     }
     else 
      if (dir == "down") {
       idx = k + 1;
      }
     var temp = null;
     temp = col[idx];
     col[idx] = col[k];
     col[k] = temp;
     $("#" + faId + " tr").each(function(){
      $(this).remove();
     })
     var trs = col[0].length;
     for (var j = 0; j < trs; j++) {
      var tr = $("<tr></tr>")
      $(col).each(function(){
       tr.append($($(this)[j]));
      })
      $("#" + faId).append(tr);
     }
     index = idx;
    //return col;
    }
   }
  </script>
 </head>
 <body>
  <div id = "main">
   <div id = "tabf">
    <div id = "showDetail">></div>
    <table id = "tab">
     <tr>
      <td>a</td><td>b</td><td>c</td><td>d</td><td>e</td>
     </tr>
     <tr>
      <td></td><td></td><td></td><td></td><td></td>
     </tr>
     <tr>
      <td></td><td></td><td></td><td></td><td></td>
     </tr>
    </table>
    <div id = "sortTab">
     <div id = "tdList"></div>
     <div id = "opt">
      <input type = "button" value = "UP" class = "btn up"/><br/>
      <input type = "button" value = "DOWN" class = "btn down"/><br/>
     </div>
    </div>
   </div>
  </div>
 </body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript中的事件处理
Jan 16 Javascript
Javascript学习笔记4 Eval函数
Jan 11 Javascript
三级下拉菜单的js实现代码
May 23 Javascript
javascript 快速排序函数代码
May 30 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
jQuery实现瀑布流布局
Dec 12 Javascript
Knockout自定义绑定创建方法
Dec 26 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
Aug 01 Javascript
JS双击变input框批量修改内容
Dec 12 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
May 17 Javascript
解决Extjs下拉框不显示的问题
Jun 21 Javascript
JS中如何轻松遍历对象属性的方式总结
Aug 06 Javascript
JS作为值的函数用法示例
Jun 20 #Javascript
jQuery简单实现tab选项卡切换效果
Jun 20 #Javascript
JS事件添加和移出的兼容写法示例
Jun 20 #Javascript
Javascript操作表单实例讲解(下)
Jun 20 #Javascript
jQuery获取多种input值的简单实现方法
Jun 20 #Javascript
jQuery图片左右滚动代码 有左右按钮实例
Jun 20 #Javascript
JavaScript操作表单实例讲解(上)
Jun 20 #Javascript
You might like
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
JavaScript&quot;模拟事件&quot;的注意要点详解
2019/02/13 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
Django日志及中间件模块应用案例
2020/09/10 Python
python字典按照value排序方法
2020/12/28 Python
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
团结演讲稿范文
2014/05/23 职场文书
社区活动策划方案
2014/08/21 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
PHP策略模式写法
2021/04/01 PHP
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers