- 浏览: 229773 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (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 1888Number.prototype.NaN0 = fun ... -
JS offset screen scroll client 介绍(IE)
2010-11-09 08:39 1851obj.offset[Width|Height|Top ... -
动态生成SQL查询语句
2010-07-30 16:35 1272<?xml version="1.0" ... -
常用的JavaScript验证正则表达式
2009-12-04 09:47 741匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹 ... -
窗口刷新问题
2009-09-30 13:34 11301.用window.open()方法打开子窗口 在子窗口刷新 ... -
JavaScript,调用函数的5种方法
2009-09-12 16:11 1156一次又一次的,我发现, ... -
点击按钮把文本框的内容复制到剪切板的代码
2009-07-23 09:21 2042<input id="demo" ... -
在javascript文件中使用jstl标签
2009-07-16 09:40 2175天看到同事harry_duan写的一个js文件,感觉挺有意思。 ... -
javascript 创建类的几个方法
2009-07-04 14:33 1312Javascript 语言本身也可以进行面向对象的编程,如下是 ... -
Window.ShowModalDialog使用手册
2009-07-01 09:42 1158Window.ShowModalDialog使用手 ... -
window.opener.location.reload() and href()的区别
2009-07-01 09:04 13762个方法都是刷新父窗口,但是其中还是有奥妙的哦。 ... -
BOM IE浏览器对象模型 基本结构
2009-06-27 19:34 1402文档对象模型(DOM)属于VBScript客户端扩展部分,在文 ... -
Table表格对象
2009-06-27 19:33 899Table表格对象 Table对象 ... -
javaScript页面刷新(收藏)
2009-06-26 08:29 1227//--让打开本窗口的父页面重新刷新(在同一个窗口)--> ... -
function,new function,new Function对比
2009-06-17 15:57 1193函数是JavaScript中很重要 ... -
将阿拉伯数字翻译成中文的大写数字
2009-06-15 10:11 3257function Chinese(num) { if( ... -
用面向对象的方式封装javascript(Animal.js ,Bird.js,People.js)
2009-05-26 14:01 1267javascript 虽然是弱类型检查的脚本语言,可是它也有很 ... -
JavaScript面向对象编程
2009-05-26 13:28 9778.1 JavaScript面向对象编程 许多Web开发人员 ...
相关推荐
vue-easytable表格老版本有表格列宽拖功能,但是最新版插件反而不存在该功能,但是大部分表格数据存在...若将ve-table封装以组件形式引用,可全局实现拖动表格列 改变列宽大小效果。如何封装我也会在资源内详细说明。
拖拽改变列宽的功能网上很多,但是拖拽改变行高的我搜了很久,也没有发现可以用的。所以利用原有改变行高的模版,自己写了一个原生javascrript改变列宽的模版。
vue 使用 sortable 实现 el-table 拖拽排序功能 本文给大家介绍vue 使用 sortable 实现 el-table 拖拽排序功能,具体内容如下所示: npm 下载: npm install sortablejs --save 引入: import Sortable from ...
web页面中通过鼠标拖动来调整table列宽的实例,用JS实现,使用起来超级简单,只需要把JS文件导入,然后在需要实现该效果的table中套用CSS就可以了,还不会的去看实例,实例中有DEMO的页面。
Vue Element Sortablejs实现表格列的拖拽案例详解 1. css: dragTable.css @charset "UTF-8"; .w-table{ height: 100%; width: 100%; float: left; } /* 拖动过程中,鼠标显示样式 */ .w-table_moving .el...
js实现像excel表格锁定功能,拖动滚动条指定锁住的列不滚动,内容使用的是table表格 使用代码: var Options = { table : "tb", width : 600, height : 300, rows : 1, cells : 2 } new Fixed(Options);
内容索引:脚本资源,Ajax/JavaScript,表格拖动,表格排序 利用JavaScript实现对表格列的排序,并可以用鼠标拖动列宽,以显示出被遮挡的内容,源代码用到两个JS代码类,可移植操作,重用率高。
用于可拖动列的ReactTable HOC 高阶组件,使Draggable列可用于重新排序或交换头寸。 *注意:此版本支持React Table V6。 文献资料 安装 npm install --save react-table-hoc-draggable-columns 用法 import React...
本javascript软件主要功能是任意拖动html的table的td来整行交换位置。
可拖动的table #draggable{ padding:absolute; height:600px; position:absolute; } <script type="text/javascript"> var rDrag = { o:null, init:function(o){ o.onmousedown = this.start; }, start:...
用javascript拖动div或table等对象。 代码兼容各种浏览器,IE,Firefox,Opera,Safari等。 这里有三种拖动效果。
bootstrap-table实现 行拖拽 插件 jquery.tablednd.js bootstrap-table-reorder-rows.js bootstrap-table-reorder-rows.css
基于Vue实现可以拖拽的树形表格
NULL 博文链接:https://zhao103804.iteye.com/blog/797436
指定table名称可以直接控制拖动表格的行头和列头
vue2.x 实用型 table 组件,支持多表头固定、多列固定、列拖动、排序、自定义列.
拖动列调整顺序、隐藏显示列 excel导出(根据筛选条件和列顺序导出) 子表(表中表、无限层级、子表同样支持前3个功能) 5.拖动行 6.右击快捷菜单 7.合计栏支持固定列 8.双击自适应列宽 9.右侧固定列 列宽拖动改到...
vue树可拖动,拖动项目排序
最后我用的方法是新建一个table,并把源tr克隆到新table中,然后通过对新table定位来实现效果。 用这个方法关键有两点,首先要做一个仿真度尽可能高的tr,还有是要准确的定位,这些请看后面的程序说明。 程序说明 ...
HTML 实现行、列冻结功能,使用了javascript、jquery 的方式实现了类似excel冻结的功能。