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实现的一个计算数字步数的算法分享
Dec 06 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
Javascript从数组中随机取出不同元素的两种方法
Sep 22 Javascript
javascript中this关键字详解
Dec 12 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
Mar 09 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
vue中锚点的三种方法
Jul 06 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
Sep 07 jQuery
vue2路由基本用法实例分析
Mar 06 Javascript
JavaScript array常用方法代码实例详解
Sep 02 Javascript
Ajax是什么?Ajax高级用法之Axios技术
Apr 21 Javascript
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
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
一个ftp类(ini.php)
2006/10/09 PHP
PHP分页显示制作详细讲解
2006/12/05 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
php生成gif动画的方法
2015/11/05 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
javascript求日期差的方法
2016/03/02 Javascript
使用javascript插入样式
2016/03/14 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
记录Django开发心得
2014/07/16 Python
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
2014年冬季防火方案
2014/05/21 职场文书
趣味运动会广播稿
2014/09/13 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
华山导游词
2015/02/03 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书