- 浏览: 234734 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (123)
- Struts1 (1)
- struts2 (3)
- 专业词汇解释 (1)
- oracle (1)
- javascript (19)
- ExtJS (14)
- jsp (5)
- webLogic (8)
- GXT (2)
- SSH (2)
- displayTag (3)
- 浏览器 (6)
- eclipse (6)
- tomcat (1)
- spring (3)
- J2SE (1)
- SVN (5)
- JBPM (1)
- jQuery (1)
- DWR (2)
- jfreechart (1)
- php (1)
- java组件 (1)
- JSTL (1)
- 操作系统(winXP) (3)
- 心得 (3)
- webservices (1)
- Hibernate (1)
- 工具 (2)
- Online Editor (2)
- 区别 (1)
- 职场技能 (1)
- 个人关注 (2)
- Android (7)
- Linux (7)
- HTML (1)
- 工作总结 (1)
- 笔记 (0)
最新评论
-
luoxiang183:
是啊,不对啊
jboss-as-7.1.1不兼容spring解决办法 -
liqiaoqiaoz:
按照你上面的改法不正确出现如下错误:13:49:55,759 ...
jboss-as-7.1.1不兼容spring解决办法 -
webczw:
不错,学习
Android通过http协议数据交互的两种方式 -
peng_hao1988:
...
Rational Rose -
gepangtsai:
再判断下:
if (grid) {
grid.setW ...
ExtJS GridPanel根据窗口大小自动变化插件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<TABLE border="1" align="center" width="750" id="table">
<TR>
<TD>Number</TD>
<TD>Name</TD>
<TD>Sex</TD>
<TD>Age</TD>
<TD>Nationality</TD>
</TR>
<TR>
<TD>001</TD>
<TD>Lucy</TD>
<TD>Female</TD>
<TD>22</TD>
<TD>American</TD>
</TR>
</TABLE>
</BODY>
</HTML>
<style type="text/css">
.temp {
background-color:buttonshadow;
cursor:default;
position:absolute;
filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=50);
opacity:0.5;
zIndex:3001;
display:none;
}
.dragtemp {
background-color:buttonshadow;
cursor:default;
position:absolute;
filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=50);
opacity:0.5;
zIndex:3001;
}
</style>
<script type="text/javascript">
var Util = new Object;
var _table;
var _row;
var _column = new Array();
var _fromIndex = -1;
var _toIndex = -1;
var _canDragFromIndex = 0;
var _tempDragTarget;
var _fromDragTarget;
var _toDropTarget;
var _isDrag = false;
var whenCanDropToTargStyle = "_toDropTarget.style.borderLeft = 'thin solid #00FFFF'";
var whenCannotDropToTargStyle = "_toDropTarget.style.borderLeft = '1'";
Util.addEventHandler = function (oTarget, sEventType, fnHandler) {
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} else if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = fnHandler;
}
};
Util.removeEventHandler = function (oTarget, sEventType, fnHandler) {
if (oTarget.removeEventListener) {
oTarget.removeEventListener(sEventType, fnHandler, false);
} else if (oTarget.detachEvent) {
oTarget.detachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = null;
}
};
Util.getPos = function(elem) {
var pos = new Object();
pos.left = elem.offsetLeft;
pos.top = elem.offsetTop;
while(elem = elem.offsetParent) {
pos.left += elem.offsetLeft;
pos.top += elem.offsetTop;
}
pos.left += document.body.scrollLeft;
pos.top += document.body.scrollTop;
return pos;
};
Util.formatEvent = function (oEvent) {
if (typeof oEvent.charCode == "undefined") {
oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0;
oEvent.isChar = (oEvent.charCode > 0);
}
if (oEvent.srcElement && !oEvent.target) {
oEvent.eventPhase = 2;
oEvent.pageX = oEvent.clientX + document.documentElement.scrollLeft;
oEvent.pageY = oEvent.clientY + document.documentElement.scrollTop;
if (!oEvent.preventDefault) {
oEvent.preventDefault = function () {
this.returnValue = false;
};
}
if (oEvent.type == "mouseout") {
oEvent.relatedTarget = oEvent.toElement;
} else if (oEvent.type == "mouseover") {
oEvent.relatedTarget = oEvent.fromElement;
}
if (!oEvent.stopPropagation) {
oEvent.stopPropagation = function () {
this.cancelBubble = true;
};
}
if ( typeof oEvent.button == " undefined " ) {
oEvent.button = oEvent.which;
}
oEvent.target = oEvent.srcElement;
oEvent.time = (new Date).getTime();
}
return oEvent;
};
Util.getEvent = function() {
if (window.event) {
return this.formatEvent(window.event);
} else {
return Util.getEvent.caller.arguments[0];
}
};
function insertAfter(newElement,targetElement) {
var parent = targetElement.parentNode;
if (parent.lastChild == targetElement) {
parent.appendChild(newElement);
} else {
parent.insertBefore(newElement,targetElement.nextSibling);
}
};
function initTempTag() {
_tempDragTarget = document.createElement("DIV");
_tempDragTarget.className = "temp";
if(window.document.body) {
window.document.body.insertBefore(_tempDragTarget,window.document.body.firstChild);
}
};
function setTempDragTarget(elem) {
_tempDragTarget.innerHTML = elem.innerHTML;
_tempDragTarget.className = "dragtemp";
_tempDragTarget.style.height= elem.style.height;
_tempDragTarget.style.width = elem.style.width;
};
function handleMouseDown(elem) {
_isDrag = true;
setTempDragTarget(elem);
_fromDragTarget = elem;
_toDropTarget = elem;
_fromIndex = elem.cellIndex;
_toIndex = elem.cellIndex;
eval(whenCanDropToTargStyle);
Util.addEventHandler(window.document.body,"mousemove",handleMouseMove);
Util.addEventHandler(window.document.body,"mouseup",handleBodyMouseUp);
};
function handleBodyMouseUp() {
if(_isDrag){ _isDrag = false;}
_isDrag = false;
Util.removeEventHandler(window.document.body,"mousemove",handleMouseMove);
Util.removeEventHandler(window.document.body,"mouseup",handleBodyMouseUp);
_tempDragTarget.style.display = "none";
if(_toDropTarget) {
if(eval(whenCannotDropToTargStyle)) {
eval(whenCannotDropToTargStyle);
}
_fromIndex = -1;
_toIndex = -1;
_toDropTarget = null;
}
};
function handleMouseUp(elem) {
if(!_isDrag) {
return false;
}
_isDrag = false;
Util.removeEventHandler(window.document.body,"mousemove",handleMouseMove);
Util.removeEventHandler(window.document.body,"mouseup",handleBodyMouseUp);
_tempDragTarget.style.display = "none";
if(_toDropTarget) {
if(eval(whenCannotDropToTargStyle)) {
eval(whenCannotDropToTargStyle);
}
moveTargetTo();
_fromIndex = -1;
_toIndex = -1;
_toDropTarget = null;
}
};
function handleMouseOver(elem) {
if(!_isDrag) { return false; }
_toIndex = elem.cellIndex;
_toDropTarget = _rows.cells[elem.cellIndex];
if(_isDrag) eval(whenCanDropToTargStyle);
};
function handleMouseOut() {
if(!_toDropTarget) { return false; }
eval(whenCannotDropToTargStyle);
_toIndex = -1;
_toDropTarget = null;
};
function handleMouseMove(oEvent) {
oEvent = Util.getEvent(oEvent);
if(oEvent.type.indexOf("mousemove") == -1 ) {
Util.removeEventHandler(window.document.body,"mousemove",handleMouseMove);
Util.removeEventHandler(window.document.body,"mouseup",handleBodyMouseUp);
return false;
}
var x = oEvent.pageX + 10;
var y = oEvent.pageY + 10;
with(_tempDragTarget.style) {
left = x + "px";
top = y + "px";
display = "";
}
};
function moveTargetTo() {
for (var i=0;i<_table.tBodies[ 0 ].rows.length;i++ ) {
var row = _table.tBodies[0].rows[i];
var fTag = row.cells[_fromIndex];
var tTag = row.cells[_toIndex];
row.insertBefore(fTag,tTag);
}
};
function initDrag(headTable) {
initTempTag();
_table= document.getElementById(headTable);
_rows = _table.tBodies[ 0 ].rows[ 0 ];
initTableHandle();
};
function initTableHandle() {
// alert(_table.tBodies[0].rows[0].cells.length);
_table.onselectstart = function() { return false;}
for (var i=0;i<_table.tBodies[0].rows[0].cells.length;i++) {
var cell = _table.tBodies[0].rows[0].cells[i];
cell.onmousedown = function() {
handleMouseDown(this);
}
}
for(var i=0;i<_table.tBodies[0].rows.length;i++) {
var cells = _table.tBodies[0].rows[i].cells;
for(var j=_canDragFromIndex;j<cells.length;j++) {
var cell = cells[j];
cell.onmouseover = function () {
handleMouseOver(this);
}
cell.onmouseout = function () {
handleMouseOut();
}
cell.onmouseup = function () {
handleMouseUp(this);
}
}
}
};
window.onload = function (){
initDrag("table");
}
</script>
发表评论
-
JS 鼠标相对document的坐标以及HTML元素相对document的坐标
2010-11-09 09:10 1944Number.prototype.NaN0 = fun ... -
JS offset screen scroll client 介绍(IE)
2010-11-09 08:39 1907obj.offset[Width|Height|Top ... -
动态生成SQL查询语句
2010-07-30 16:35 1300<?xml version="1.0" ... -
常用的JavaScript验证正则表达式
2009-12-04 09:47 768匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹 ... -
窗口刷新问题
2009-09-30 13:34 11941.用window.open()方法打开子窗口 在子窗口刷新 ... -
JavaScript,调用函数的5种方法
2009-09-12 16:11 1203一次又一次的,我发现, ... -
点击按钮把文本框的内容复制到剪切板的代码
2009-07-23 09:21 2094<input id="demo" ... -
在javascript文件中使用jstl标签
2009-07-16 09:40 2210天看到同事harry_duan写的一个js文件,感觉挺有意思。 ... -
javascript 创建类的几个方法
2009-07-04 14:33 1366Javascript 语言本身也可以进行面向对象的编程,如下是 ... -
Window.ShowModalDialog使用手册
2009-07-01 09:42 1207Window.ShowModalDialog使用手 ... -
window.opener.location.reload() and href()的区别
2009-07-01 09:04 14202个方法都是刷新父窗口,但是其中还是有奥妙的哦。 ... -
BOM IE浏览器对象模型 基本结构
2009-06-27 19:34 1431文档对象模型(DOM)属于VBScript客户端扩展部分,在文 ... -
Table表格对象
2009-06-27 19:33 932Table表格对象 Table对象 ... -
javaScript页面刷新(收藏)
2009-06-26 08:29 1246//--让打开本窗口的父页面重新刷新(在同一个窗口)--> ... -
function,new function,new Function对比
2009-06-17 15:57 1223函数是JavaScript中很重要 ... -
将阿拉伯数字翻译成中文的大写数字
2009-06-15 10:11 3299function Chinese(num) { if( ... -
用面向对象的方式封装javascript(Animal.js ,Bird.js,People.js)
2009-05-26 14:01 1320javascript 虽然是弱类型检查的脚本语言,可是它也有很 ... -
JavaScript面向对象编程
2009-05-26 13:28 10208.1 JavaScript面向对象编程 许多Web开发人员 ...
相关推荐
在以上代码中,我们通过 `mounted` 生命周期钩子初始化 SortableJS,并在拖动结束后调用 `handleColumnDragEnd` 方法更新 `columns` 数据,从而实现表格列的拖动效果。 需要注意的是,实际项目中可能需要考虑更多...
ElementUI 是一个基于 Vue.js 的开源 UI ...总之,实现 ElementUI Table 列的拖拽功能需要对 Vue 的响应式系统和 HTML5 拖放API有深入理解。通过结合这两者,我们可以创建出动态且用户友好的界面,提供更佳的交互体验。
"table 列可左右拖动"的功能使得用户可以根据需要调整列宽,提高用户体验,特别是当表格内容较多,需要横向滚动条时,用户可以更方便地查看和操作表格。 实现这一功能通常涉及以下几个关键知识点: 1. **...
标题提到的“原生javascript实现拖拽改变table表格行高”是一项技术挑战,因为大部分在线资源都集中在改变列宽上,而对行高的调整相对较少。 首先,我们需要理解HTML表格的基本结构。表格由`<table>`元素定义,内部...
"bootstrapTable 实现列宽可拖动"的特性就是为了解决这个问题,让用户可以通过鼠标拖动来动态调整表格列的宽度。 要实现这个功能,首先你需要确保在项目中已经引入了 BootstrapTable 的基础库和相应的 CSS、JS 文件...
"实现table表格可按行拖拽,按列排序,并可以保存排序后的结果"是一个常见的需求,尤其适用于数据展示和管理的场景。这里我们将详细探讨如何利用jQuery、jQuery.tablesorter和jQuery.tablednd_0_5这三个JavaScript库...
- `bootstrap-table-colresize.min.js`:拖动列宽插件的 JavaScript 文件,实现拖动功能。 - 示例 HTML 文件:展示如何在实际代码中应用以上设置和插件。 - 示例数据文件:可能包含用于填充表格的数据。 总之,实现...
"table实现列宽的拖动效果"是一个常见的需求,特别是在数据展示或者数据分析的应用中,用户可能需要自定义表格列的宽度以更好地查看和理解数据。这篇博客文章 "https://jifeng3321.iteye.com/blog/2403674" 提到的...
"table列排序、列拖动、列宽度变化、行交换"这些功能是网页数据展示中常见的需求,能够极大地提升用户操作的便捷性和数据管理的有效性。下面我们将详细探讨这些知识点。 首先,**表头列排序**是一种常见于数据表格...
vue-easytable表格老版本有表格列宽拖功能,但是最新版插件反而不存在该功能,但是大部分表格数据存在...若将ve-table封装以组件形式引用,可全局实现拖动表格列 改变列宽大小效果。如何封装我也会在资源内详细说明。
在Vue.js应用中,实现`el-table`组件的拖拽排序功能可以借助第三方库`sortablejs`。`sortablejs`是一个轻量级的JavaScript库,它允许用户通过鼠标或触摸事件对HTML元素进行拖放排序。以下是使用`sortablejs`在Vue中...
BootstrapTable 提供的拖拽列排序特性使得用户可以根据自己的需求快速定制视图,而无需开发者编写大量的定制代码。这个功能尤其适用于那些需要频繁调整列显示顺序的应用场景,例如数据分析工具或管理面板。 要实现...
本文将详细介绍如何使用jQuery和JavaScript技术来实现在网页上的Table表格中,通过拖动表头来任意调整列宽度的功能,这个功能适用于各种列表页面,如数据展示、报表分析等场景。 首先,我们需要引入jQuery库,它是...
本文将详细讲解如何利用jQuery实现网格(Grid)中的列拖动功能,以及如何展示和压缩内容,以达到类似Excel的效果。 首先,我们需要引入jQuery库和jQuery Grid插件的相关文件。jQuery Grid通常基于jQuery UI,因此...
在网页开发中,实现表格列的自由拖动排序是一个增强用户体验的重要特性。这款"表格列自由拖动排序js代码"提供了这样一个功能,允许用户通过单击并长按表格的列头来自由移动列的位置,从而根据需要调整表格的布局。...
在"table表格拖动列"这个功能中,JavaScript主要负责监听用户的鼠标事件,如鼠标按下、移动和释放,来实现列的拖动行为。当用户点击并拖动表格的列头时,JavaScript会捕获这一动作,并记录下当前列的位置信息。 ...
这个实例利用JavaScript实现,允许用户通过简单的鼠标操作来动态调整表格列的宽度,从而更好地查看和理解数据。 JavaScript是一种强大的客户端脚本语言,它在浏览器环境中运行,为网页添加动态功能。在这个实例中,...
本文将深入探讨如何实现“拖动table单元格改变列宽或行高”的功能,以及这一特性在表格设计器中的应用。 首先,我们要理解HTML表格的基本结构。一个HTML表格由`<table>`元素定义,包含多个`<tr>`(行)元素,每个`...
在“Bootstrap Table两个Table数据之间行数据拖拽”的主题中,我们主要讨论的是如何实现用户可以通过拖放操作在两个Bootstrap表格之间移动行数据,这种功能在数据管理、比较或重新排序场景中非常实用。 首先,我们...
在这个特定的场景中,`bootstrap-table.css`可能包含了拖拽排序的样式规则,如拖动行时的高亮效果、悬浮指示器等,使得交互过程更加直观。 接着,`jquery.tablednd.js`是基于jQuery的TableDnD库,实现了表格行的...