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 相关文章推荐
js小技巧--自动隐藏红叉叉
Aug 13 Javascript
js网页版计算器的简单实现
Jul 02 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
Mar 25 Javascript
jQuery中closest和parents的区别分析
May 07 Javascript
js带点自动图片轮播幻灯片特效代码分享
Sep 07 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
微信小程序 下拉列表的实现实例代码
Mar 08 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
Dec 10 Javascript
Vue-router编程式导航的两种实现代码
Mar 04 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
wamp安装后自定义配置的方法
2014/08/23 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
Python实现文件信息进行合并实例代码
2018/01/17 Python
django 控制页面跳转的例子
2019/08/06 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
《小动物过冬》教学反思
2014/04/17 职场文书
团日活动总结
2014/04/28 职场文书
出售房屋协议书范本
2014/10/06 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
个人催款函范文
2015/06/24 职场文书
法制工作总结2015
2015/07/23 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL