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 相关文章推荐
seajs1.3.0源码解析之module依赖有序加载
Nov 07 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
Aug 02 Javascript
replace()方法查找字符使用示例
Oct 28 Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
AngularJS Phonecat实例讲解
Nov 21 Javascript
JS求解三元一次方程组值的方法
Jan 03 Javascript
如何在Angular2中使用jQuery及其插件的方法
Feb 09 Javascript
react实现换肤功能的示例代码
Aug 14 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 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面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
解析WordPress中函数钩子hook的作用及基本用法
2015/12/22 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
JavaScript 常用函数库详解
2009/10/21 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
2016/09/20 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
python实现井字棋游戏
2020/03/30 Python
python实现Adapter模式实例代码
2018/02/09 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
在django中,关于session的通用设置方法
2019/08/06 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
Django之腾讯云短信的实现
2020/06/12 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
什么是TCP/IP
2014/07/27 面试题
婚庆司仪主持词
2014/03/15 职场文书
统计专业自荐书
2014/07/06 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python
vscode内网访问服务器的方法
2022/06/28 Servers