js实现table用鼠标改变td的宽度,固定table宽度和高度超过显示点
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="gbk">
- <title>table</title>
- <style>
- .ztable {
- table-layout: fixed;
- font-size: 12px;
- font-family: 微软雅黑;
- border-right: 1px solid #D4D4D4;
- border-bottom: 1px solid #D4D4D4;
- }
- .ztable th {
- background-color: #F0F0F0;
- height: 20px;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- border-left: 1px solid #D4D4D4;
- border-top: 1px solid #D4D4D4;
- }
- .ztable td {
- border-left: 1px solid #D4D4D4;
- border-top: 1px solid #D4D4D4;
- height: 20px;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- }
- </style>
- </head>
- <body>
- <table id="tb_1" cellspacing="0" cellpadding="0" width="600" class="ztable">
- <tbody>
- <tr align="center">
- <th style="width: 100px;">用户编号</th>
- <th style="width: 100px;">试用时间</th>
- <th style="width: 100px;">转正时间</th>
- <th style="width: 100px;">性别</th>
- <th>姓名拼音</th>
- <th>生日时间</th>
- <th>民族</th>
- <th>身高</th>
- </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>
js实现table用鼠标改变td的宽度,固定table宽度和高度超过显示点的更多相关文章
- c# asp.net 鼠标改变控件坐标位置,更改控件坐标,注册表保存读取,打印,查找局域网内打印机等等收集
界面虽然被我弄的很难看,但功能还可以 里边注册表的路径自己设置一下,或者加一个创建注册表的语句,不然会报错 前台: <%@ Page Language="C#" AutoEv ...
- 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间
原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...
- 固定Table的头部和左边的列-在Knockout Js使用场景下
要求:固定Table的头部和左边的列 场景:Knockout Js被用于绑定Table的数据源. 固定HTML表格的头部和列是一个很常见的需求.此文:http://www.cnblogs.com/so ...
- HTML 表格<table><caption><th><tr><td><thead><tbody><tfoot><col><colgroup>
<table>标签: 定义和用法: <table>标签定义HTML表格. 简单的HTML表格由table元素以及一个或多个tr.th或td元素组成. tr元素定义表格行,th元 ...
- layui table动态表头 改变表格头部 重新加载表格
改变头部原理: 删除原来表格, 重新建立DOM元素, 重新加载table,实现表头改变 明白了原理, 我相信大家都能写出来了, table.reload(ID, options)目前好像还不支持con ...
- Jquery改变td内容为1的颜色
Jquery改变td内容为1的颜色<table id="tb" > <tr> <td val="1">1</td> ...
- js课程 5-13 js事件绑定和鼠标事件注意事项有哪些
js课程 5-13 js事件绑定和鼠标事件注意事项有哪些 一.总结 一句话总结:js代码的灵魂就是改变标签的属性和样式,就这两种. 1.js触发改的东西是哪两样? 属性和样式 2.js如何让页面用标 ...
- js获取table checkbox选中行的值.mdjs获取table checkbox选中行的
<!DOCTYPE html> <html> <head> <script src="https://cdn.staticfile.org/jque ...
- table表格宽度固定,同时td内容过长也不会被撑开
table表格宽度固定,同时td内容过长也不会被撑开,设置如下css: table{table-layout:fixed;word-break:break-all;}
随机推荐
- flask之三方组件
Flask-session Flask-session跟框架自带的session有什么区别呢 框架自带的session是通过请求上下文~放入到Local中的~那如果我们想把session放入别的地方怎 ...
- HBase读取与写入流程
写入流程 读取流程 https://yq.aliyun.com/articles/670748?spm=a2c4e.11153940.blogcont684011.28.427e4648CTtaPL
- MT【169】拉格朗日配方
已知$x^2+y^2+z^2=1$求$3xy-3yz+2z^2$的最大值______ 答案:$3$ 提示:$3(x^2+y^2+z^2)-(3xy-3yz+2z^2)=3\left(y+\dfrac{ ...
- JumpServer 跳板机系统
Jumpserver项目为开源项目,截至到目前最新版本为4.0,4.0功能并不完整,无上传.下载功能,配置复杂.启动服务也较繁琐,推荐使用0.3.2版本,文档较全,安装简单文档链接https://gi ...
- 【CF446C】DZY Loves Fibonacci Numbers (线段树 + 斐波那契数列)
Description 看题戳我 给你一个序列,要求支持区间加斐波那契数列和区间求和.\(~n \leq 3 \times 10 ^ 5, ~fib_1 = fib_2 = 1~\). Solut ...
- Dynamic CRM 2015学习笔记(2)更改系统显示语言
默认装的是英文的系统,想换成中文的.下面列出操作步骤: 1. 下载并安装语言包 http://www.microsoft.com/en-US/download/details.aspx?id=4501 ...
- Uva796 Critical Links
用tarjan缩点 然后用dfn[u] < low[v]缩点并且保存起来 在sort一遍输出 #include<stdio.h> #include<string.h> # ...
- 【nginx】nginx配置文件结构,内置变量及参数调优
Nginx的配置文件是一个纯文本文件,它一般位于Nginx安装目录的conf目录下,整个配置文件是以block的形式组织的.每个block一般以一个大括号“{”来表示.block 可以分为几个层次,整 ...
- [SDOI2011]计算器(BSGS)
洛古题面 对于操作一,用快速幂算即可 代码如下 int quickpow(int a,int b,int k) { int r=1; while(b) { if(b&1) r=(r*a)%k; ...
- 关于servlet连接数据库会出现空指针异常情况
一.servlet在连接数据库时,如果没有事先配置,当用Tomcat运行时会出现NullPointer的情况,是因为Tomcat在运行你的应用程序时没有连接mysql的jar包, 正确做法是将你的my ...