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狂 閱讀(875) 評論(1)  編輯  收藏 所屬分類: Web

          評論

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

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

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

          導航

          統計

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沁水县| 湘阴县| 营口市| 辽源市| 通海县| 喀喇| 疏勒县| 黄骅市| 莫力| 南溪县| 达州市| 平阳县| 依兰县| 晋中市| 昭觉县| 沁源县| 武清区| 宁国市| 长治市| 广宁县| 友谊县| 马山县| 屏东市| 正镶白旗| 碌曲县| 鸡泽县| 淮安市| 莱西市| 石城县| 华宁县| 富宁县| 尼勒克县| 莱州市| 宁都县| 襄城县| 五大连池市| 古丈县| 天峨县| 仙居县| 嘉义县| 那坡县|