搜了一段代码,为了适应自己需要,简单改了一下,还可用。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
table{
border-left:1px solid black;
width:100%;
border-top:1px solid black
}
td{
border-bottom:1px solid black;
border-right:1px solid black;
overflow:hidden
}
th{
-moz-user-select: none;
}
.resizeDivClass{
PADDING-RIGHT: 0px;
MARGIN-RIGHT: 0px;
float:right;
cursor:e-resize;
HEIGHT: 100%;
width:4px;
}
</style>
</head>
<body>
<div style="width:1100" >
<table style="table-layout:fixed" id="table1">
<tr>
<td>Jane</td>
<td>5555</td>
<td>right here</td>
</tr>
<tr>
<td>Jane</td>
<td>上个月一艘前往伊朗港口的运载3.6万吨小麦的香港籍货船连同25名船员被海盗劫持,伊朗曾与海盗进行谈判,但现在伊朗决定用武力来营救船员。2个月前,伊朗政府曾经为一艘被劫持的伊朗货船交付了赎金</td>
<td>I don't care</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
<script language="javascript" type="text/javascript">
document.body.attachEvent("onmousemove",MouseMoveToResize);
document.body.attachEvent("onmouseup",MouseUpToResize);
var tabObj = document.getElementById("table1");
for(var i=0;i<tabObj.rows(0).cells.length;i++){
var oSpan = document.createElement("SPAN");
oSpan.attachEvent("onmousedown",MouseDownToResize);
oSpan.attachEvent("onmouseup",MouseUpToResize);
oSpan.className = "resizeDivClass";
tabObj.rows(0).cells[i].appendChild(oSpan);
}
var dragobj=null;
function MouseDownToResize(){
var event = window.event;
var obj = event.srcElement;
obj.focus();
document.body.style.cursor = "e-resize";
obj.parentTdW=obj.parentNode.offsetWidth;
var sibling = obj.parentNode.nextSibling;
obj.siblingW = sibling.offsetWidth;
obj.totalWidth = obj.siblingW + obj.parentTdW;
if(obj.parentElement)
obj.mouseDownX=event.clientX;
else
obj.mouseDownX=event.pageX;
dragobj=obj;
}
function MouseMoveToResize(event){
var e = event||window.event;
if(dragobj==null)
return false;
if(!dragobj.mouseDownX)
return false;
newWidth=dragobj.parentTdW+e.clientX-dragobj.mouseDownX;
var sibling = dragobj.parentNode.nextSibling;
//if width of column does not exceed minimum width 80, set column width
if(newWidth>80 && (dragobj.totalWidth-newWidth)>80){
dragobj.parentNode.style.width = dragobj.parentTdW+e.clientX-dragobj.mouseDownX;
sibling.style.width = dragobj.siblingW-e.clientX+dragobj.mouseDownX;
}
}
function MouseUpToResize(){
if(dragobj==null) return false;
dragobj.mouseDownX=0;
document.body.style.cursor = "";
dragobj=null;
}
</script>
分享到:
相关推荐
"colResizable表格列宽支持拖动效果"是一个JavaScript插件,专门用于为HTML表格提供动态调整列宽的功能。这个插件使得用户可以通过直接拖动表格的列边框来改变列的宽度,极大地提升了用户在查看和操作数据时的交互...
总之,实现 Bootstrap Table 的列宽设置和拖动功能,需要结合使用 `data-width` 属性、Bootstrap Table 本身以及第三方的列宽拖动插件。通过这样的配置,我们可以为用户提供更加灵活和友好的数据查看体验。
总之,通过使用jQuery的ZTable插件,开发者可以轻松实现HTML表格列宽的手动调整功能,提升用户体验。这个插件的简单API使得集成到现有项目变得非常容易,只需几行代码就能赋予静态表格动态调整的能力。在处理大量...
"鼠标拖动调整table列宽实例" 是一种增强表格功能的常见技术,特别是在数据展示和分析的场景中。这个实例利用JavaScript实现,允许用户通过简单的鼠标操作来动态调整表格列的宽度,从而更好地查看和理解数据。 ...
"拖动单元格改变列宽或行高"是一种提升用户体验的功能,允许用户通过拖动单元格边框来调整表格的列宽和行高,以适应他们的阅读或编辑需求。这个功能尤其适用于数据密集型的应用,如电子表格或者数据展示平台,它提供...
通过对本文档的分析,我们可以了解到实现表格列宽动态调整并不复杂,只需引入适当的jQuery库和插件,并在表格元素上应用相应的jQuery方法。随着技术的发展,这些功能的实现变得越来越简单,用户体验也因此得到了提升...
在这个例子中,CSS可能用于设置表格的基本样式,如边框、内填充、单元格间距等,同时也可能包含了鼠标悬浮时的特殊样式,以便用户能清楚地看到可拖动的区域。 动态改变表格宽度的技术核心在于以下几点: 1. **事件...
JQuery拖动表头边框线调整表格列宽的知识点涵盖了多种网页交互技术,包括但不限于事件绑定、鼠标指针变化处理、动态样式修改以及CSS布局的动态调整。下面是对这些知识点的详细介绍: 1. 事件绑定与鼠标事件的处理 ...
以下是一个简单的jQuery插件示例,用于实现表格列宽的拖动调整: ```javascript (function($) { $.fn.tableResize = function() { this.each(function() { var $table = $(this); $table.find('th').css('...
总的来说,这个例子展示了如何利用Vue.js和Element UI的特性,结合localStorage,实现用户自定义表格列宽的保存和恢复功能。这不仅提高了用户体验,也为项目添加了个性化的交互元素。在实际开发中,还可以进一步优化...
鼠标拖动列宽 浏览器兼容性 firefox ie opera 用法说明 simpleHtmlDataGrid与目前市场中的datagrid控件不同,它更加像一个插槽,开发者需要按照具体所需进行扩展。 参考目录中的例子及api,实例可查看源代码 ...
这个"鼠标拖动表格改变宽度,动态Ajax数据排序示例.rar"压缩包提供了一个实用的JavaScript和Ajax实现,允许用户通过鼠标操作来改变表格列宽以及进行动态数据排序,极大地提升了用户体验。以下是关于这个示例中的关键...
然而,这里有一个需要注意的问题:当表格的`border-collapse`属性设置为`collapse`时,拖动列宽可能会导致样式冲突。`border-collapse: collapse`使得相邻单元格的边框合并,这可能会影响到列宽的计算和显示。在修改...
在样式定制方面,vxe-table提供列宽拖动、流体高度以及固定表头和列等选项,使得表格在不同设备和屏幕尺寸下均有良好的显示效果。固定表头可以保证在滚动时表头仍然可见,而固定列则允许在横向滚动时固定某些列,这...
在这个例子中,`fixed: false` 允许用户自由调整列宽,`liveDrag: true` 让用户在拖动时就能看到列宽的变化。`draggingClass` 可以自定义拖动时表格的样式,`disable` 可以禁用特定列的宽度调整,而 `postresize` 回...
在这个例子中,"OwnerDrawnGrid"控件意味着开发者可以直接控制表格的每一个单元格的绘制,从而实现复杂的样式和功能。 表格控件在数据展示和用户交互中起着核心作用。它们可以用来显示多行多列的数据,支持排序、...
Resizable使得用户可以调整列宽,Draggable则允许用户将列拖动到新的位置。为了实现列的位置交换,我们需要记录拖动的列信息,并在释放时更新表格的结构,同时更新后台数据的对应关系,确保数据的正确性。 在实现...
在表格测试第①季 (2).doc 文件中,我们主要关注的是如何创建和格式化一个具有特定要求的表格。这个表格是用来展示“奔跑吧兄弟英雄榜”的数据,其中包括了参与者的序号、姓名以及他们在不同赛季的成绩。下面将详细...
在网页开发中,允许用户通过拖动来调整表格列宽是一种增强交互性的常见做法,尤其在数据密集型应用中。JavaScript,作为前端开发的主要语言之一,常用于实现此类动态效果。 在描述中提到的博文链接指向了ITEYE博客...