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 相关文章推荐
jQuery-Tools-overlay 使用介绍
Jul 14 Javascript
删除javascript所创建子节点的方法
May 21 Javascript
js文字横向滚动特效
Nov 11 Javascript
Sort()函数的多种用法
Mar 20 Javascript
JS中substring与substr的用法
Nov 16 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
JavaScript 用fetch 实现异步下载文件功能
Jul 21 Javascript
Vue三层嵌套路由的示例代码
May 05 Javascript
解决bootstrap-select 动态加载数据不显示的问题
Aug 10 Javascript
使用JS监听键盘按下事件(keydown event)
Nov 07 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
Jan 02 Javascript
ES6中的Javascript解构的实现
Oct 30 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的urlencode()URL编码函数浅析
2011/08/09 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
DHTML Slide Show script图片轮换
2008/03/03 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
简单谈谈JavaScript的同步与异步
2015/12/31 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
python格式化字符串实例总结
2014/09/28 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
Django封装交互接口代码
2020/07/12 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
DJI全球:DJI Global
2021/03/15 全球购物
迅雷Cued工作心得体会
2014/01/27 职场文书
一体化教学实施方案
2014/05/10 职场文书
孔庙导游词
2015/02/04 职场文书
首席执行官观后感
2015/06/03 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
PHP实现rar解压读取扩展包小结
2021/06/03 PHP