表の列は、(:$(「目/ TDテーブル」)など、すべてのyouElementを置き換えるために使用されるが、あなたがこの効果に要素を追加したいと言ったときに、必要がjqeryセレクタ形式である)列のサイズを変更するためにドラッグすることができます

$(関数(){ 
VAR = isMouseDown falseに、
VAR currentTh = NULL;
youElement.bind({
mouseDownイベント:関数(E){
VAR $ $ = TH(本)
= $ th.offset左VAR()左; /左から/要素
のvar rightPos =左+ $ th.outerWidth();
IF(rightPos - 4 <= e.pageX && e.pageX <= rightPos。){
isMouseDown = trueに、
currentTh TH = $;
youElement.css(「カーソル「」リサイズ-EWの『);

//止めることはできないドラッグにつながる、捕捉することができない身体のmouseUpイベントをもたらす、ブロックされている他の要素をバブリングのmouseupイベントを防止するために、マスク層を作成
VAR bodyWidth = $(』ボディ' )幅。 ();
VAR車高= $( '体')の高さ();
$( 'ボディ')追加( '<DIV ID = "マスク"スタイル= "不透明度:0;上部:0PX;左:0PX;カーソル:EW-リサイズ;位置:絶対; Zインデックス:9999;幅: '+ bodyWidth + 'PX;高さ:' +車高+ 'PX; "> </ div>');
}
}

})。

。$( '体')バインド({
のMouseMove:機能(E){
//移动到列右边缘提示
youElement.each(機能(インデックス、eleDom){
VAR ELE = $(eleDom);
VAR左= ele.offset ().LEFT; //元素距左
VAR rightPos =左+ ele.outerWidth();
IF(rightPos - 4 <= e.pageX && e.pageX <= rightPos){//移到列右边缘
ele.css ( 'カーソル'、 ' 彼らは)」サイズを変更します。
}エルス{
(!isMouseDown){//マウスが特定のマウスのスタイルをクリックしたときに解除されない場合は
、ele.css( "カーソル"、 "オート")
}
}
});

//は、サイズ変更
IFを(currentTh = NULL){!
(IF isMouseDown){//マウスが押され、移動を開始
)するvar左= currentTh.offsetを(;.左
VAR paddingBorderLen = currentTh.outerWidth() - currentTh.width();
currentTh.widthは((e.pageX -左- paddingBorderLenを)+ 'PX');
VAR currentTh = S [0];
!一方(s.tagNameは= "表"){
S = s.parentNode;
}
以下のために(; iはs.rows.lengthを<; I = 0せiは++){
。$(s.rows [I] .cells [currentTh [0] .cellIndex])幅((e.pageXは-左- paddingBorderLen)+ 'PX');
}
}
}
}
のmouseup:関数(E){
isMouseDown = FALSE;
currentTh = NULL;
youElement.css( 'カーソル'、 '自動車')。
$( '#マスク')削除();
}
})。
});

おすすめ

転載: www.cnblogs.com/fei-le/p/11583730.html