JS實現可改變列寬的table實例

           

          <!DOCTYPE HTML> 
          <html> 
          <head> 
          <meta charset="gbk"> 
          <title>table</title> 
          </head> 
          <body> 
          <table id="tb_1" cellspacing="0" cellpadding="2" width="100%" border="1"> 
          <tbody> 
          <tr align="center" bgcolor="#dcdcdc"> 
          <td style="width:100px;">用戶編號</td> 
          <td>試用時間</td><td>轉正時間</td><td>性別</td><td>姓名拼音</td> 
          <td>生日時間</td><td>民族</td><td>身高</td> 
          </tr> 
          <tr> 
          <td>2000001</td> 
          <td>1997-3-13</td><td>1997-3-13</td><td>1</td><td>WZJ</td> 
          <td>1965-3-13</td><td></td><td>171</td> 
          </tr> 
          <tr> 
          <td>2000045</td> 
          <td>2001-2-15</td><td>2001-3-15</td><td>0</td><td>WY</td> 
          <td>1978-8-5</td><td></td><td>162</td> 
          </tr> 
          <tr> 
          <td>2000046</td> 
          <td>2001-2-23</td><td>2001-3-23</td><td>0</td><td>LQ</td> 
          <td>2001-2-23</td><td></td><td>171</td> 
          </tr> 
          </tbody> 
          </table> 
          <script type="text/javascript"> 
          var tTD; //用來存儲當前更改寬度的Table Cell,避免快速移動鼠標的問題 
          var table = document.getElementById("tb_1"); 
          for (j = 0; j < table.rows[0].cells.length; j++
          table.rows[
          0].cells[j].onmousedown = function () 
          //記錄單元格 
          tTD = this
          if (event.offsetX > tTD.offsetWidth - 10
          tTD.mouseDown 
          = true
          tTD.oldX 
          = event.x; 
          tTD.oldWidth 
          = tTD.offsetWidth; 
          }
           
          //記錄Table寬度 
          //
          table = tTD; while (table.tagName != ‘TABLE') table = table.parentElement; 
          //
          tTD.tableWidth = table.offsetWidth; 
          }

          table.rows[
          0].cells[j].onmouseup = function () 
          //結束寬度調整 
          if (tTD == undefined) tTD = this
          tTD.mouseDown 
          = false
          tTD.style.cursor 
          = 'default'; 
          }

          table.rows[
          0].cells[j].onmousemove = function () 
          //更改鼠標樣式 
          if (event.offsetX > this.offsetWidth - 10
          this.style.cursor = 'col-resize'; 
          else 
          this.style.cursor = 'default'; 
          //取出暫存的Table Cell 
          if (tTD == undefined) tTD = this
          //調整寬度 
          if (tTD.mouseDown != null && tTD.mouseDown == true
          tTD.style.cursor 
          = 'default'; 
          if (tTD.oldWidth + (event.x - tTD.oldX)>0
          tTD.width 
          = tTD.oldWidth + (event.x - tTD.oldX); 
          //調整列寬 
          tTD.style.width = tTD.width; 
          tTD.style.cursor 
          = 'col-resize'; 
          //調整該列中的每個Cell 
          table = tTD; while (table.tagName != 'TABLE') table = table.parentElement; 
          for (j = 0; j < table.rows.length; j++
          table.rows[j].cells[tTD.cellIndex].width 
          = tTD.width; 
          }
           
          //調整整個表 
          //
          table.width = tTD.tableWidth + (tTD.offsetWidth – tTD.oldWidth); 
          //
          table.style.width = table.width; 
          }
           
          }

          }
           
          </script> 
          </body> 
          </html> 


          posted on 2013-09-01 23:27 我為J狂 閱讀(874) 評論(1)  編輯  收藏 所屬分類: Web

          評論

          # re: JS實現可改變列寬的table實例 2013-11-23 18:16 鳳凰

          很好,能用!謝謝!!  回復  更多評論   

          <2013年11月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導航

          統計

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 青川县| 德江县| 米林县| 师宗县| 运城市| 梓潼县| 绥宁县| 永胜县| 遂溪县| 柳江县| 礼泉县| 濮阳市| 大丰市| 同仁县| 工布江达县| 岳普湖县| 新田县| 盘山县| 浦县| 黔西| 建始县| 登封市| 台北市| 明光市| 田东县| 纳雍县| 镇沅| 收藏| 伊春市| 西平县| 阳东县| 新疆| 康定县| 铜川市| 甘谷县| 临洮县| 喜德县| 永春县| 晋州市| 宾川县| 乐昌市|