JS实现可拖拽宽度表格

利用JS实现可以自由拖拽调整宽度的表格 // JScript 文件function fnInit(){  for(var i=0;i  {   var _tr = tbContent.rows[i];   for(var j=0;j   {    var _td = _tr.cells(j);    _td.noWrap = true;    if(i==0)    {         _tr.attachEvent("onmoused 阅读详情

将下面代码复制到body之后,可变宽度的表格id设为tbContent即可

var tbContent=document.getElementById("tbContent");
function fnInit()
{
  
for(var i=0;i<tbContent.rows.length;i++)
  
{
   
var _tr = tbContent.rows[i];
   
for(var j=0;j<_tr.cells.length;j++)
   
{
    
var _td = _tr.cells(j);
    _td.noWrap 
= true;
    
if(i==0)
    
{    
     _tr.attachEvent(
"onmousedown", fnMousedown);
     _tr.attachEvent(
"onmousemove",fnMousemove);
     _tr.attachEvent(
"onmouseover",fnMouseover);
     _tr.attachEvent(
"onselectstart",fnCancel);
     window.document.attachEvent(
"onmouseup", fnMouseup);
     window.document.attachEvent(
"onmousemove",fnMouseMove);
    }

    
else{
     _td.style.borderRight 
= "1px solid #C0C0C0";
     _td.style.borderBottom 
= "1px solid #C0C0C0";
    }

   }

  
  
  }

  
var _line = window.document.createElement("DIV");
  _line.style.position 
= "absolute";
  _line.style.backgroundColor
="#000000";
  _line.style.width
=1;
  window.document.body.appendChild(_line);
  tbContent.splitLine 
= _line;
  tbContent.splitLine.style.display 
= "none";
}


function fnMouseover()
{
 
return;
}


function fnMouseMove(){
 
if(!tbContent.splitlocked) return;
 fnMousemove();  
}


function fnMousemove(){
 
var oEl = event.srcElement;
 tbContent.splitLine.style.left 
= window.event.x;
 tbContent.splitLine.style.top 
= getTop(tbContent);
 tbContent.splitLine.style.height 
= tbContent.parentElement.clientHeight;
 
if(tbContent.splitlocked) return;
 
if(!IfSplitLocation(oEl)) return;
}


function fnClick(){
 
var oEl = event.srcElement;
}


function fnMousedown(){
 
var oEl = event.srcElement;
 
if(!IfSplitLocation(oEl)) return;
 tbContent.splitLine.style.display 
= "";
 tbContent.splitlocked  
= true;
 window.document.attachEvent(
"onselectstart",fnCancel);
}


function fnMouseup()
{
 tbContent.splitLine.style.display 
= "none";
 tbContent.splitlocked  
= false;
 tbContent.document.body.style.cursor
='default';
 
if(tbContent.curResizeTD == null) return;
 
var otd = tbContent.curResizeTD;
 
var otdLeft = getLeft(otd);
 
var otdwidth =  tbContent.splitLine.style.pixelLeft - otdLeft
 
if(otdwidth < 0) return;
 otd.style.width 
= otdwidth;
 window.document.detachEvent(
"onselectstart",fnCancel);
}


function IfSplitLocation(oEl)
{
 
if(oEl.tagName == "DIV")
  oEl 
= oEl.parentElement;
 
if(oEl.tagName == "TD")
 
{
  
if(Math.abs(event.offsetX - oEl.clientWidth) <= 5)
  
{
   tbContent.curResizeTD 
= oEl;
   tbContent.document.body.style.cursor
='col-resize';
  }

  
else if (Math.abs(event.offsetX) <= 5 && oEl.cellIndex>0){
   
if(oEl.cellIndex>0){
    tbContent.curResizeTD 
= oEl.parentElement.cells(oEl.cellIndex-1);
    tbContent.document.body.style.cursor
='col-resize';
   }

  }

  
else{
   tbContent.curResizeTD 
= null;
   tbContent.document.body.style.cursor
='default';
   
return false;
  }

 }

 
return true;
}


function getTop(e){
 
var t=e.offsetTop;
 
while(e=e.offsetParent){
  t
+=e.offsetTop;
  }

 
return t;
}


function getLeft(e){
 
var l=e.offsetLeft;
 
while(e=e.offsetParent){
  l
+=e.offsetLeft;
  }

 
return l;
}


/*****************************************************
禁止拖动
****************************************************
*/

function fnCancel()
{
    window.event.returnValue 
= false;
 
return false;
}

window.onload
=fnInit; 

 本想把它加工成行高也可自动调整的,无奈水平有限。。。。

jQuery+js 实现Table表格可任意拖动调整列宽度大小 适用于列表页等表头拖动宽度设置 jQuery+js 实现Table表格可任意拖动调整列宽度大小 适用于列表页等表头拖动宽度设置,完美兼容IE,FireFox,Google Chrome浏览器。 立即下载

相关推荐

又一个很好的js控制实现动态拖动表格宽度的例子

是一个很好的通过鼠标拖动表格就可以改变表格宽度的例子。是做项目的时候用到下载下来的。现在资源分0分在这里分享给大家。希望有朋友能用的到。

原生js实现 拖拽改变 table表格列宽

【代码】原生js实现 拖拽改变 table表格列宽。

weixin_57456011的博客 1170

JavaScript 表格宽度拖动

JavaScript 表格宽度拖动 用IE打开

js 拖动表格框线调整列宽

js 拖动表格框线调整列宽

bug搬运工 1907

表格宽度拖动

用jquery实现的表格宽度拖动,无需修改原来的代码,直接在原来的table添加代码即可实现,方便快捷。

js实现html表格列宽可拖拽修改

js实现html表格列宽可拖拽修改 .

js 表格拖动改变高和宽

[code="html"] .resizeDivClass { position:relative; width:4; z-index:1; left:expression(this.parentElement.offsetWidth - 3); cursor:e-resize; } ....

上善若水 853

freertos移植心得

1.freertos移植msp430 今天终于移植成功了freertos。现在写下这篇博文来整理这一路移植过程中遇到的问题和心得。 由于使用的是IAR FOR MSP430的IDE,博文只讨论在IAR下的移植。本文针对的是官方支持的平台架构下的移植,不使用官方提供的demo,得到的是一个纯洁版的系统。 1.下载源代码 在freertos的官网下载一份最新的源代码点击打开链接。 2.选择平

一条狗的博客 4173

[Vue2]el-table+sortablejs实现列拖动,解决拖拽后列宽不变和无法改变问题

Vue 2el-table+sortablejs实现列拖动,解决拖拽后列宽不变和无法改变问题

随便写写 6710

《童虎学习笔记》5分钟用Keepalived搭建MySQL高可用实现虚ip自动漂移

1

tonghu_note的博客 5618

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

transformer原理

qq_38253797的博客 2万+

原生JS鼠标拖动修改表格的列宽

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>D.

大牛的博客 2724

基于STM32与FPGA Cyclone IV的FSMC高速数据通信实战解析

本文详细解析了基于STM32的FSMC接口与FPGA Cyclone IV实现高速并行数据通信的实战方案。通过将FPGA模拟为SRAM设备,构建了MCU与FPGA之间的高速数据通道,并深入探讨了硬件连接、STM32软件配置、FPGA逻辑设计及性能优化等关键步骤,为图像处理、高速采集等需要大数据量交换的嵌入式应用提供了稳定高效的通信解决方案。

swift5iosmith的博客 294

JS实现表格一列宽度拖拽

Code: >   html xmlns="http://www.w3.org/1999/xhtml">      head>   script language="javascript" src="../JS/jquery-1.3.2-vsdoc2.js">script>       title>ResizeTablet

xueyong4712816的专栏 4912

电机控制-PMSM无感FOC控制(五)SVPWM过调制策略优化与谐波抑制

本文深入探讨了PMSM无感FOC控制中的SVPWM过调制策略优化与谐波抑制。针对电机高速运行时电压利用率不足的问题,分析了过调制技术的必要性,并详细阐述了分区过调制、谐波注入及闭环优化等主流策略,旨在提升电压利用率与抑制电流谐波,实现电机高性能控制。

convnet3designer的博客 353

CLAHE 算法学习 matlab

概念可参考: CLAHE (Contrast Limited Adaptive Histogram Equalization)算法学习CLAHE具体实现主要包括6个步骤。1):分块。将输入图像划分为大小相等的不重叠子块,每个子块含有的像素数为M。参考示例为8×8块。 2):计算子块直方图。 3):计算剪切阈值clipLimit 4):像素点重分配。对每个子块,使用步骤三中多余的像素重新分配。 5):直方图均衡。 6):像素点灰度值重构。(源码中采用了双线性插值) http://www.realtimer

baidu_34971492的博客 4253

html表格宽度拖拽,原生js实现 拖拽改变 table表格列宽

table员工编号试用时间转正时间性别姓名拼音生日时间民族身高vh201804212018-3-132018-6-131LDH1988-3-13汉族178vh201805112018-5-152018-8-150WSW1990-8-5蒙古族162vh201806182018-6-232018-9-230LQ1995-2-23满族171var tTD; //用来存储当前更改宽度的Table...

weixin_42128141的博客 916

ASM准入小助手卸载没有密码的方法:读取明文密码2024年7月有效

在一次工作过程中,电脑中意外的安装了一个ASM准入小助手软件,工作结束以后回来发现没有卸载,然后就决定把它卸载掉,但是居然给了我一个大大的提示框:由于联系不到当时给我安装的那个人了,所以一时陷入了焦灼的状态,因为我安装另一个终端准入,会直接提示冲突了。所以经过注册表(regedit)、任务管理器等各种折腾之后,最后都失败了,然后想起了多年前在吾爱论坛学到过的东西,最后意外的找到了密码,然后就完美成功卸载了。

布啦啦 7804

html表格宽度拖拽,Js拖拽实现改变Table的列宽解决方案

Js拖拽实现改变Table的列宽如题,楼主是Js小白,最近遇到问题,需要用Js实现GridView的列拖拽改变大小,在网上找到一段代码如下:functionMouseDownToResize(obj){setTableLayoutToFixed();obj.mouseDownX=event.clientX;//当事件被触发时鼠标指针相对于浏览器页面(或客户区)的水平坐标obj.paren...

weixin_35414475的博客 1531

JAVA:Spring Boot 集成 Baidu UID-Generator ID 生成器

百度UID-Generator是一款高性能分布式ID生成器,支持600万QPS,提供Snowflake扩展版和Cache模式两种实现方式。文章详细介绍了如何在Spring Boot项目中集成该组件,包括Maven依赖配置、MySQL表结构初始化、Spring Boot数据源配置、WorkerId分配策略实现以及UID生成器的核心配置。该方案具有无中心依赖、ID单调递增、支持集群部署等特点,适用于订单号、用户ID等分布式场景。通过缓存模式(Cache-Buffer)可进一步提升性能,满足高并发业务需求。

木头 487

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

vue +js 原生实现表格拖拽改变列宽

原生js + html 实现表格拖拽列宽 可直接使用 开发中遇到需求 表格宽度需要随着拖动改变 因为要求特殊性 所以页面没办法使用UI组件提供的 表格组件 只能用原生实现 **好了话不多说上代码** **可以直接使用** Controlwidth(){ var tTD; //用来存储当前更改宽度的Table Cell,避免快速移动鼠标的问题 var table = document.getElementById(“tb_3”); // console.lo

m0_46907690的博客 3025

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

bootstarp表格列宽拖拽

bootstarp表格列宽拖拽要依赖两个js:bootstrap-table-resizable.js和colResizable-1.6.min.js。 点击此处,下载文件 <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <script src="jquery.min.js"></script> <script src="bootstrap-table-resizable.js">&

chenyan0306i的博客 419

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

JS实现表格列宽拖动

在数据表格中,有时候需要拖动表格宽度,查看完整的数据,是很常用的功能。 1 效果 可以用纯JS就可以实现,如下,是正常情况下的表格: 拖动表格标题中间线,拖动后效果如下: 查看DEMO 2 代码 HTML代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title&...

weixin_33859665的博客 360

vue 表格左右拖拽调整列宽_vue +js 原生实现表格拖拽改变列宽

原生js + html 实现表格拖拽列宽可直接使用开发中遇到需求 表格宽度需要随着拖动改变 因为要求特殊性 所以页面没办法使用UI组件提供的 表格组件只能用原生实现**好了话不多说上代码** **可以直接使用**Controlwidth(){var tTD; //用来存储当前更改宽度的Table Cell,避免快速移动鼠标的问题var table = document.getElementB...

weixin_39837607的博客 2188

el-table拖拽功能实现(3种详细解释)

1.el-table自带的列宽拖拽 2.实现左右table宽度拖拽 3.利用第3方插件自由拖拽

qq_71214810的博客 9835

vue 表格左右拖拽调整列宽_vue项目拖动实现修改左右宽度

需求:拖动实现改变左右宽度实现效果:实现步骤:1.代码左侧⋮右侧2.样式.left {width: 49.2%;height:100%;overflow-y:auto;overflow-x:hidden;float: left;}.resize {cursor: col-resize;float: left;position: relative;top: 45%;background-color:...

weixin_39711867的博客 1786
上一篇: SQL视图加密
下一篇: DIV+CSS实现alt属性效果
sdlfx
博客等级 码龄19年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值