?? movetable.js
字號:
//實現(xiàn)表格寬度的隨意拖動,引用時不能定義表格總寬度和單元格高度,不能有center、caption定義
var dragenable=0;
var x;//橫向軸,網頁中的絕對坐標
var y;//縱向軸
var w;//鼠標所在的單元格的寬度
var h;
var obj;
function init() {//鼠標按下左鍵
x=(event.clientX+document.body.scrollLeft);//event.clientX:鼠標事件在屏幕的X軸坐標+document.body.scrollLeft:滑動條滑過的距離
obj=event.srcElement;
w=event.srcElement.offsetWidth;
obj.setCapture();
if(x>event.srcElement.offsetLeft+w-8 && x<event.srcElement.offsetLeft+w) {
dragenable=1;//在左側拉動,縮小或合并,合并后不能繼續(xù)向左
obj.style.cursor='e-resize';
} else if(x>=event.srcElement.offsetLeft && x<event.srcElement.offsetLeft+10) {
//下面語句返回值是字符串類型!!!
w=obj.parentNode.parentNode.rows[0].cells[obj.cellIndex-1].width;
dragenable=2;//在右側拉動,放大,可一直變寬并撐開網頁
obj.style.cursor='w-resize';
}
}
function drag() {//鼠標移動
//下面語句的返回值是字符串!!!
var pos=(event.clientX+document.body.scrollLeft);
if(pos>event.srcElement.offsetLeft+event.srcElement.offsetWidth-8 &&
pos<event.srcElement.offsetLeft+event.srcElement.offsetWidth) {
event.srcElement.style.cursor='e-resize';//鼠標形狀
} else if(pos>event.srcElement.offsetLeft &&
pos<event.srcElement.offsetLeft+8) {
event.srcElement.style.cursor='w-resize';
} else {
event.srcElement.style.cursor='default';//鼠標默認狀態(tài),無反應
}
if(dragenable==1) {
if(parseInt(pos)-x+parseInt(w)>0) {//pos為鼠標當前相對網頁的坐標值,x為鼠標選中時相對網頁的坐標值
var i=obj.cellIndex;
var j;
for(j=0;j<obj.parentNode.parentNode.rows.length;j++) {//當鼠標拖動時,當前列的所有行一起動作
obj.parentNode.parentNode.rows[j].cells[i].width=pos-x+w;
}
} else {
var i=obj.cellIndex;
var j;
for(j=0;j<obj.parentNode.parentNode.rows.length;j++) {
obj.parentNode.parentNode.rows[j].cells[i].width=1;//nseer:當拖動到單元格兩條列線距離是1時,拖動禁止。如果欲做到合并后是一條線并可拉開,優(yōu)化本段代碼
}
}
} else if(dragenable==2) {
var i=obj.cellIndex;
if(i>0) {
if(parseInt(pos)-x+parseInt(w)>0) {
var j;
for(j=0;j<obj.parentNode.parentNode.rows.length;j++) {
obj.parentNode.parentNode.rows[j].cells[i-1].width=parseInt(pos)-x+parseInt(w);
}
} else {
var j;
for(j=0;j<obj.parentNode.parentNode.rows.length;j++) {
obj.parentNode.parentNode.rows[j].cells[i-1].width=1;
}
}
}
}
}
function end() {//鼠標松開左鍵
dragenable=false;
obj.releaseCapture();//釋放捕捉
obj.style.cursor='default';
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -