html红div拖拽修改大小,拖动鼠标改变div层的大小宽度-

///Generic Resize by Erik Arvidsson You may use this script as long as this disclaimer is remained. See www.dtek.chalmers.se/~d96erik/dhtml/ for mor info How to use this script! Link the script in the HEAD and create a container (DIV, preferable absolute positioned) and add the class="resizeMe" to it. ///

vartheobject= null;//This gets a value as soon as a resize start

functionresizeObject() {this.el= null;//pointer to the object

this.dir= "";//type of current resize (n, s, e, w, ne, nw, se, sw)

this.grabx= null;//Some useful values

this.graby= null;this.width= null;this.height= null;this.left= null;this.top= null;

}//Find out what kind of resize! Return a string inlcluding the directions

functiongetDirection(el) {varxPos, yPos, offset, dir;

dir= "";

xPos=window.event.offsetX;

yPos=window.event.offsetY;

offset= 8;//The distance from the edge in pixels

if(yPosel.offsetHeight-offset) dir+= "s";if(xPosel.offsetWidth-offset) dir+= "e";returndir;

}functiondoDown() {varel=getReal(event.srcElement,"className","resizeMe");if(el== null) {

theobject= null;return;

}

dir=getDirection(el);if(dir== "")return;

theobject= newresizeObject();

theobject.el=el;

theobject.dir=dir;

theobject.grabx=window.event.clientX;

theobject.graby=window.event.clientY;

theobject.width=el.offsetWidth;

theobject.height=el.offsetHeight;

theobject.left=el.offsetLeft;

theobject.top=el.offsetTop;

window.event.returnValue= false;

window.event.cancelBubble= true;

}functiondoUp() {if(theobject!= null) {

theobject= null;

}

}functiondoMove() {varel, xPos, yPos, str, xMin, yMin;

xMin= 8;//The smallest width possible

yMin= 8;//height

el=getReal(event.srcElement,"className","resizeMe");if(el.className== "resizeMe") {

str=getDirection(el);//Fix the cursor

if(str== "") str= "default";elsestr+= "-resize";

el.style.cursor=str;

}//Dragging starts here

if(theobject!= null) {if(dir.indexOf("e")!= -1)

theobject.el.style.width=Math.max(xMin, theobject.width+window.event.clientX-theobject.grabx)+ "px";if(dir.indexOf("s")!= -1)

theobject.el.style.height=Math.max(yMin, theobject.height+window.event.clientY-theobject.graby)+ "px";if(dir.indexOf("w")!= -1) {

theobject.el.style.left=Math.min(theobject.left+window.event.clientX-theobject.grabx, theobject.left+theobject.width-xMin)+ "px";

theobject.el.style.width=Math.max(xMin, theobject.width-window.event.clientX+theobject.grabx)+ "px";

}if(dir.indexOf("n")!= -1) {

theobject.el.style.top=Math.min(theobject.top+window.event.clientY-theobject.graby, theobject.top+theobject.height-yMin)+ "px";

theobject.el.style.height=Math.max(yMin, theobject.height-window.event.clientY+theobject.graby)+ "px";

}

window.event.returnValue= false;

window.event.cancelBubble= true;

}

}functiongetReal(el, type, value) {

temp=el;while((temp!= null)&&(temp.tagName!= "BODY")) {if(eval("temp." +type)==value) {

el=temp;returnel;

}

temp=temp.parentElement;

}returnel;

}

document.οnmοusedοwn=doDown;

document.οnmοuseup=doUp;

document.οnmοusemοve=doMove;

请在边框处拖动鼠标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值