改变div的大小,左右上下可以拉动

<html>
<head runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
      div{width:100px;height:100px;left:100px;top:100px;position:absolute;border:1px solid gray;overflow:hidden}
    </style>
<script type="text/javascript" language="javascript">
function makeResizable(obj){
  var d=5;
  var l,t,r,b,ex,ey,cur;
  obj.attachEvent("onmousedown",mdown);
  obj.attachEvent("onmouseup",mup);
  obj.attachEvent("onmousemove",mmove);
  function mdown(){
    if(event.button==1&&obj.style.cursor){
      obj.resizing=true;
      obj.setCapture();
      }
    }
  function mup(){
    if(event.button==1&&obj.resizing){
      obj.resizing=false;
      obj.releaseCapture();
      }
    }
  function mmove(){
    if(obj.resizing){
      var dx=event.screenX-ex;
      var dy=event.screenY-ey;
      if(cur.indexOf("w")>-1) l+=dx;
      else if(cur.indexOf("e")>-1) r+=dx;
      if(cur.indexOf("n")>-1) t+=dy;
      else if(cur.indexOf("s")>-1) b+=dy;
      var s=obj.style;
      if(r-l>2*d){
        s.left=l;
        s.width=r-l;
        }
      if(b-t>2*d){
        s.top=t;
        s.height=b-t;
        }
      ex+=dx;
      ey+=dy;
      }
    else if(event.srcElement==obj){
      var x=event.offsetX,y=event.offsetY;
      var c=obj.currentStyle;
      w=parseInt(c.width),h=parseInt(c.height);
      cur=y<d?"n":h-y<d?"s":"";
      cur+=x<d?"w":w-x<d?"e":"";
      if(cur){
        obj.style.cursor=cur+"-resize";
        l=parseInt(c.left);
        t=parseInt(c.top);
        r=l+w;
        b=t+h;
        ex=event.screenX;
        ey=event.screenY;
        }
      else if(obj.style.cursor)
        obj.style.cursor="";
      }
    }
  }
</script>
</head>
<body οnlοad="makeResizable(odiv1);makeResizable(odiv2)";>
  <div id="odiv1"></div>
  <div id="odiv2" style="left:300px"></div>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值