您的位置:首页 > Web前端 > JQuery

jQuery+CSS: 一行代码搞定行列转置

2015-01-28 22:41 519 查看
参考: http://www.gbtags.com/gb/share/4511.htm

本来要睡觉了, 但看到一行代码搞定, 真有点不可思议!

于是还原了他们乱乱的所谓的录制代码。

Chrome
39.0.2171.95 m, IE 11 通过

Firefox 35.0.1 不行……

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>行列转置</title>
    <script type="text/javascript" src="//cdn.gbtags.com/jquery/2.1.1/jquery.min.js"></script>
    <style type="text/css">
        table
        {
            border: 1px solid #ccc;
            font-size: 14px;
        }
        table th
        {
            background: orange;
            color: #fff;
            padding: 10px;
        }
        table td
        {
            padding: 10px;
        }
        table.vertical
        {
            -webkit-writing-mode: vertical-lr;
            -moz-writing-mode: vertical-lr;
            -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
        }
        table.vertical th, table.vertical td
        {
            width: 100px;
            height: 14px;
        }
        table.vertical div
        {
            width: 100px;
            -webkit-writing-mode: horizontal-tb;
            -moz-writing-mode: horizontal-tb;
            -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
        }
    </style>
    <script type="text/javascript">
        var flag = false;
        //注:多次点击后,内面文字会包裹多层div,尚无好的解决方法
        function test(){
            if(!flag){
                $('table').addClass('vertical').find('th, td').wrapInner('<div>');
                //$('table').addClass('vertical');//数字会变垂直,不能用
            }else{
                $('table').removeClass('vertical');
            }
            flag=!flag;
        }
    </script>
</head>
<body>
   <table>
      <tr>
      <th>列1</th>
      <th>列2</th>
      <th>列3</th>
      <th>列4</th>
      </tr>
      <tr>
      <td>数据1-1</td>
      <td>数据1-2</td>
      <td>数据1-3</td>
      <td>数据1-4</td>
      </tr>
      <tr>
      <td>数据2-1</td>
      <td>数据2-2</td>
      <td>数据2-3</td>
      <td>数据2-4</td>
      </tr>
      <tr>
      <td>数据3-1</td>
      <td>数据3-2</td>
      <td>数据3-3</td>
      <td>数据3-4</td>
      </tr>
    </table>
    <input type="button" onclick="test()" value="行列转置" />
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: