<!DOCTYPE html> <html> <head> <title>演示</title> <style> .resizeBox {} table { width: 100%; border: 1px solid #000; border-collapse: collapse; } th { background: #ccc; } th, td { border: 1px solid #000; } </style> </head> <body> <div class="resizeBox"> <table id="resizeTable"> <thead> <tr> <th>标题1</th> <th>标题2</th> <th>标题3</th> </tr> </thead> <tbody> <tr> <td>第1行</td> <td>第1行</td> <td>第1行</td> </tr> <tr> <td>第2行</td> <td>第2行</td> <td>第1行</td> </tr> <tr> <td>第3行</td> <td>第3行</td> <td>第1行</td> </tr> </tbody> </table> </div> </body> <script> window.onload = function () { init('resizeTable') function init(id) { var i, self, table = document.getElementById(id), header = table.rows[0], tableX = header.clientWidth, length = header.cells.length; for (i = 0; i < length; i++) { header.cells[i].onmousedown = function () { self = this; if (event.offsetX > self.offsetWidth - 10) { self.mouseDown = true; self.oldX = event.x; self.oldWidth = self.offsetWidth; } }; header.cells[i].onmousemove = function () { if (event.offsetX > this.offsetWidth - 10) { this.style.cursor = 'col-resize'; } else { this.style.cursor = 'default'; } if (self == undefined) { self = this; } if (self.mouseDown != null && self.mouseDown == true) { self.style.cursor = 'default'; if (self.oldWidth + (event.x - self.oldX) > 0) { self.width = self.oldWidth + (event.x - self.oldX); } self.style.width = self.width; table.style.width = tableX + (event.x - self.oldX) + 'px'; self.style.cursor = 'col-resize'; } }; table.onmouseup = function () { if (self == undefined) { self = this; } self.mouseDown = false; self.style.cursor = 'default'; tableX = header.clientWidth; }; } }; } </script> </html>